Amazon RDS MySQL menyediakan cara mudah mengimpor data ke DB dan mengekspor data dari DB. Setelah kita berhasil terhubung ke database MySQL, kita dapat menggunakan alat CLI untuk menjalankan perintah impor dan ekspor untuk mendapatkan data dari sumber lain masuk dan keluar dari database RDS. Di bawah ini adalah skenario untuk dipertimbangkan saat memutuskan pendekatan untuk mengimpor data ke Amazon RDS - database MySQL
DB MySQL yang ada dapat hadir di lokasi atau di instans EC2 lainnya. Secara diagramatis apa yang kami lakukan ditunjukkan di bawah ini
Membuat cadangan dari DB Lokal
Sebagai langkah pertama, kami membuat cadangan database lokal menggunakan perintah di bawah ini
mysqldump -u user -p[user_password] [database_name] > backupfile.sqlSebuah file dengan nama backupfile. sql dibuat yang berisi struktur tabel beserta data yang akan digunakan
Menyimpan file cadangan di S3
Unggah file cadangan yang dibuat di atas ke bucket Amazon S3 yang telah ditentukan sebelumnya di wilayah yang sama tempat database RDS MySQL DB target berada. Anda dapat mengikuti tautan ini untuk mempelajari cara mengunggah
Impor data dari Amazon S3 ke database RDS- MySQL
Anda dapat menggunakan perintah Amazon CLI berikut untuk mengimpor data dari S3 ke MySQL DB
aws rds restore-db-instance-from-s3 \ --allocated-storage 125 \ --db-instance-identifier tddbidentifier \ --db-instance-class db.m4.small \ --engine mysql \ --master-user-name masterawsuser \ --master-user-password masteruserpassword \ --s3-bucket-name tpbucket \ --s3-ingestion-role-arn arn:aws:iam::account-number:role/rolename \ --s3-prefix bucketprefix \ --source-engine mysql \ --source-engine-version 5.6.27 _Mungkin ada skenario ketika Anda ingin data dari DB MYSQL RDS yang ada untuk dibawa ke DB MYSQL RDS lain. Misalnya, untuk membuat DB pemulihan bencana atau membuat DB hanya untuk pelaporan bisnis, dll. Dalam skenario seperti itu, kami membuat replika baca yang merupakan salinan DB sumbernya dan kemudian mempromosikan replika baca tersebut ke instans DB baru. Mereka digunakan untuk mencegah pembacaan berat langsung dari DB sumber asli ketika kita ingin menyalin data
membuat replika baca
aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --source-db-instance-identifier mydbinstancePromosikan replika Baca ke Instans DB
Sekarang karena kami memiliki replikanya, kami dapat mempromosikannya ke instans DB mandiri. Ini akan memenuhi kebutuhan akhir kami untuk mengimpor data dari o RDS – Mysql DB ke yang baru. Perintah berikut digunakan untuk menyelesaikan promosi replika baca ke instance db
aws rds create-db-instance-read-replica \ --db-instance-identifier readreplica_name \ --region target_region_name --db-subnet-group-name subnet_name --source-db-instance-identifier arn:aws:rds:region_name:11323467889012:db:mysql_instance1Untuk mengimpor data dari database lain ke Amazon RDS – MySQL, kita harus menggunakan Layanan Migrasi Data amazon yang juga disebut Amazon DMS. Ini menggunakan alat konversi Skema untuk menerjemahkan basis data yang ada ke platform MYSQL. Diagram di bawah ini menjelaskan keseluruhan proses. Juga bekerja dengan prinsip replikasi yang sama seperti yang dijelaskan di bagian sebelumnya
Mengekspor data dari Amazon RDS Mysql DB adalah proses langsung yang bekerja dengan prinsip replikasi yang sama seperti yang telah kita lihat di atas. Berikut adalah langkah-langkah untuk melakukan proses ekspor
Saya mengambil satu proyek untuk membantu teman saya memigrasikan situs dari cloud Google ke AWS. Sebagai bagian dari aktivitas ini, memindahkan kode dan menyiapkan konfigurasi server menjadi mudah dan lancar. Tantangan utama adalah memindahkan DB ke AWS RDS. Anda mungkin berpikir mengapa? . Saya mencoba mengimpornya dengan menggunakan metode umum seperti mysql - u username - p -h hostname -A database < database.sql Saya mencoba ini hampir 10-15 kali setiap kali pipa koneksi server putus. Mencoba untuk meningkatkan nilai TTL juga tetapi tidak membantu saya untuk menyelesaikan masalah ini
Saat mencari di google saya menemukan video penjelasan yang bagus dan metode baru yang merupakan pembelajaran baru bagi saya. Itu adalah perintah sederhana source path of file
Ingin tahu?
Izinkan saya menjelaskan opsi untuk mengimpor database yang berat. Pertama pahami apa itu perintah source_
Seperti namanya source mirip dengan menjalankan perintah mysql saja. Tapi ini bisa digunakan untuk menjalankan potongan perintah mysql dalam mode batch
Jika Anda ingin memigrasikan database aplikasi Bitnami Anda ke Amazon Relational Database Service (RDS), panduan ini akan memandu Anda melalui langkah-langkah yang diperlukan. Contoh aplikasi yang digunakan dalam panduan ini adalah WordPress, meskipun langkah-langkahnya akan bekerja secara umum untuk semua tumpukan aplikasi Bitnami
CATATAN. Sebelum mengikuti langkah-langkah dalam panduan ini, pastikan Anda memiliki akun Amazon Web Services, dan server yang menjalankan tumpukan aplikasi Bitnami Anda memiliki alamat IP publik
Langkah 1. Buat database baru di Amazon RDS
Mulailah dengan membuat database baru di Amazon RDS, seperti yang dijelaskan di bawah ini
Masuk ke dasbor Amazon RDS
Pilih item menu "Instances" dan perintah "Luncurkan Instans DB".
Pada halaman “Select Engine”, pilih “MySQL” sebagai mesin database. Kemudian, klik tombol "Pilih" untuk melanjutkan
Pada hasil “Produksi?” . Perhatikan bahwa Tingkat Penggunaan Gratis AWS hanya berlaku untuk instans non-produksi. Kemudian, klik tombol "Langkah Berikutnya" untuk melanjutkan
Pada halaman “Specify DB Details” yang dihasilkan, masukkan detail untuk database yang ingin Anda buat, terutama kelas instans, jenis penyimpanan, dan ukuran penyimpanan yang dialokasikan
TIP. Untuk aplikasi PHP kecil yang ditujukan untuk penggunaan pribadi, instans Mikro atau Kecil biasanya sudah cukup
Di halaman yang sama, tentukan nama unik untuk instance database, bersama dengan nama pengguna dan kata sandi. Kemudian, klik tombol "Langkah Berikutnya" untuk melanjutkan
PENTING. Catat kredensial database ini, karena Anda akan membutuhkannya di langkah selanjutnya
Pada halaman "Konfigurasi Pengaturan Lanjutan" yang dihasilkan, biarkan semua nilai pada pengaturan default dan pilih opsi untuk "Buat Grup Keamanan baru" di bidang "Grup Keamanan VPC". Atau, jika Anda memiliki grup keamanan yang mengizinkan koneksi jarak jauh ke port MySQL (3306), pilih grup keamanan tersebut
Di halaman yang sama, di bagian "Opsi Database", tentukan nama untuk database baru. Dalam contoh ini, database baru bernama wordpress. Basis data ini akan dibuat secara otomatis setelah instance basis data diluncurkan
Klik tombol "Luncurkan Instans DB" untuk melanjutkan
Instance database baru Anda sekarang akan diluncurkan
Klik tombol “Lihat Instans DB Anda” untuk melihat daftar instans yang sedang berjalan
Langkah 2. Aktifkan akses grup keamanan
Setelah instance database Anda berjalan, langkah selanjutnya adalah mengizinkan akses jarak jauh ke server database MySQL. Untuk melakukan ini
Masuk ke dasbor Amazon RDS
Pilih item menu "Instance".
Pilih dan perluas rekaman untuk instans database MySQL yang baru diluncurkan
PENTING. Catat titik akhir basis data, karena Anda memerlukannya saat mengimpor data
Pilih grup keamanan saat ini. Ini akan membuka jendela browser baru yang berisi bagian "Grup Keamanan" di dasbor EC2 dan dengan grup keamanan saat ini telah dipilih sebelumnya
Pilih tab "Masuk" dari grup keamanan
Klik tombol "Edit".
Di jendela pop-up "Edit aturan masuk", klik tombol "Tambahkan Aturan" dan tentukan aturan baru sebagai berikut
- Jenis. MySQL
- Protokol. TCP
- Jangkauan pelabuhan. 3306
- Sumber. IP khusus
- alamat IP. Alamat IP publik server aplikasi Bitnami Anda dalam format CIDR. Misalnya, jika alamat IP publik server aplikasi Bitnami Anda adalah 101. 102. 103. 104, tentukan alamat IP sebagai 101. 102. 103. 104/32
Klik "Simpan" untuk menyimpan perubahan Anda
Langkah 3. Nonaktifkan akses tulis ke aplikasi
Anda sekarang dapat memigrasikan database aplikasi Anda ke Amazon RDS. Namun, sebelum melakukannya, Anda harus menonaktifkan akses tulis ke aplikasi agar database asli dan baru tetap sinkron
Metode untuk melakukan ini bervariasi dari satu aplikasi ke aplikasi lainnya. Dalam beberapa kasus, aplikasi itu sendiri menawarkan "mode pemeliharaan" yang dapat diaktifkan selama migrasi data. Di tempat lain, Anda mungkin perlu mengunduh plugin mode pemeliharaan untuk tujuan ini. Jika tak satu pun dari opsi ini tersedia, Anda harus menonaktifkan akses login secara manual dengan mengarahkan pengguna ke halaman pemeliharaan statis
Dalam contoh berbasis WordPress ini, cara termudah untuk menonaktifkan akses tulis adalah menginstal dan mengaktifkan plugin WP Maintenance Mode. Plugin ini akan menampilkan notifikasi splash screen untuk menginformasikan kepada pengguna bahwa blog/website WordPress sedang down untuk pemeliharaan dan tidak dapat diakses
Langkah 4. Ekspor database aplikasi dari tumpukan Bitnami Anda
Langkah selanjutnya adalah mengekspor database aplikasi. Anda dapat melakukan ini menggunakan alat baris perintah mysqldump atau aplikasi phpMyAdmin berbasis browser
Menggunakan baris perintah
Gunakan alat mysqldump untuk membuat cadangan dari database saat ini sebagai berikut
Dapatkan kata sandi untuk basis data aplikasi Bitnami Anda
Masuk ke konsol server melalui SSH
Jalankan perintah berikut untuk membuat cadangan dari database saat ini. Dalam contoh ini, database diberi nama bitnami_wordpress. Ganti ini dengan nama database yang ingin Anda ekspor
$ mysqldump -u root -p bitnami_wordpress > backup.sql _Masukkan kata sandi basis data saat diminta
Ini akan menghasilkan cadangan. sql di direktori saat ini dengan konten database yang dipilih. Simpan file ini dengan hati-hati, karena Anda akan membutuhkannya di langkah berikutnya
Menggunakan phpMyAdmin
Anda juga dapat melakukannya dengan aplikasi phpMyAdmin berbasis browser yang disertakan secara default dengan tumpukan Bitnami
Masuk ke aplikasi phpMyAdmin yang disertakan menggunakan petunjuk ini
Pilih database aplikasi di menu navigasi kiri. Dalam contoh ini, database diberi nama bitnami_wordpress
Pilih item menu "Ekspor".
Pada halaman yang dihasilkan, pilih metode ekspor "Cepat" dan format keluaran "SQL".
Klik “Pergi”
File ekspor SQL akan dibuat dan diunduh ke desktop Anda. Simpan file ini dengan hati-hati, karena Anda akan membutuhkannya di langkah berikutnya
Langkah 5. Impor database aplikasi ke Amazon RDS
Langkah selanjutnya adalah mengimpor database aplikasi ke instans database RDS Anda. Sekali lagi, Anda dapat melakukannya menggunakan alat baris perintah atau aplikasi phpMyAdmin berbasis browser
Menggunakan baris perintah
Gunakan klien baris perintah mysql untuk mengimpor cadangan dari langkah sebelumnya ke instans database Amazon RDS Anda sebagai berikut
Masuk ke konsol server melalui SSH
Jalankan perintah berikut untuk mengimpor file cadangan. Dalam contoh ini, database target diberi nama wordpress. Ganti ini dengan nama database yang ingin Anda impor
$ mysql -u USERNAME -p -h RDS-ENDPOINT -D wordpress < backup.sqlIngatlah untuk mengganti placeholder USERNAME dengan nama pengguna master RDS yang Anda tentukan di Langkah 1, dan placeholder RDS-ENDPOINT dengan titik akhir sebenarnya dari instans database Amazon RDS Anda
Konten database aplikasi asli sekarang akan diimpor ke database Amazon RDS yang baru
Menggunakan phpMyAdmin
Anda juga dapat melakukannya dengan aplikasi phpMyAdmin berbasis browser yang disertakan dengan tumpukan Bitnami. Namun, pertama-tama Anda perlu mengonfigurasi phpMyAdmin untuk terhubung ke instans database RDS Anda, seperti yang dijelaskan di bawah ini
Masuk ke konsol server Anda melalui SSH
Edit file konfigurasi phpMyAdmin di /opt/bitnami/apps/phpmyadmin/htdocs/config. termasuk. php dan tambahkan baris di bawah ini ke akhir file
$i++; $cfg['Servers'][$i]['verbose'] = 'Amazon RDS'; $cfg['Servers'][$i]['host'] = 'RDS-ENDPOINT'; $cfg['Servers'][$i]['port'] = '3306'; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['AllowNoPassword'] = false; _Ingatlah untuk mengganti placeholder RDS-ENDPOINT dalam kode di atas dengan titik akhir sebenarnya dari instans database Amazon RDS Anda. Baris-baris ini akan memungkinkan untuk mengakses instans database Amazon RDS Anda melalui phpMyAdmin
Simpan file
Lanjut
Jelajahi aplikasi phpMyAdmin menggunakan petunjuk ini dan pilih server “Amazon RDS”.
Masuk dengan nama pengguna dan kata sandi basis data yang Anda tentukan di Langkah 1
Pilih database baru di menu navigasi kiri. Dalam contoh ini, database baru diberi nama wordpress sesuai masukan yang Anda berikan pada Langkah 1
Pilih item menu "Impor".
Pada halaman yang dihasilkan, pilih file ekspor SQL yang dibuat pada Langkah 4
Klik “Pergi”
Konten database aplikasi asli sekarang akan diimpor ke database Amazon RDS yang baru. Pesan konfirmasi akan ditampilkan
Langkah 6. Konfigurasi ulang aplikasi untuk menggunakan database baru
Setelah database Anda ditransfer ke Amazon RDS, langkah selanjutnya adalah memperbarui konfigurasi aplikasi Anda dan mengarahkannya ke database baru. Prosedur untuk melakukan ini bervariasi dari aplikasi ke aplikasi, tetapi biasanya melibatkan modifikasi file konfigurasi dan menentukan host database baru, nama pengguna dan kata sandi database, dan nama database baru.
Misalnya, untuk memperbarui konfigurasi WordPress, edit file di /opt/bitnami/apps/wordpress/htdocs/wp-config. php dan modifikasi berbagai variabel konfigurasi seperti yang ditunjukkan pada gambar di bawah ini
Langkah 7. Aktifkan kembali akses tulis ke aplikasi
Anda sekarang dapat mematikan mode pemeliharaan dan mengaktifkan kembali akses penuh ke aplikasi, dengan membalik langkah-langkah yang dilakukan di Langkah 3