Rumah > Artikel > pangkalan data > Bagaimana untuk melaksanakan replikasi data heterogen dan homogen dalam MySQL?
Bagaimana untuk melaksanakan replikasi data heterogen dan homogen dalam MySQL?
Pengenalan:
Dalam pembangunan perisian moden, replikasi pangkalan data adalah fungsi yang sangat penting Ia boleh merealisasikan sandaran data, pemisahan baca-tulis data dan keperluan ketersediaan yang tinggi. Sebagai salah satu pangkalan data hubungan yang paling popular, MySQL menyediakan pelbagai kaedah replikasi untuk memenuhi keperluan senario yang berbeza. Artikel ini akan memperkenalkan cara melaksanakan replikasi heterogen dan isomorfik data dalam MySQL, dan melampirkan contoh kod yang sepadan.
1. Replikasi heterogen data MySQL
Replikasi heterogen merujuk kepada penyalinan pangkalan data MySQL ke jenis pangkalan data lain, seperti menyalin pangkalan data MySQL ke Oracle atau SQL Server. Untuk melaksanakan replikasi heterogen, anda perlu menggunakan alat Dumper dan Loader yang disediakan oleh MySQL.
1.1 Pasang Dumper dan Loader
Lakukan arahan berikut untuk memasang Utiliti MySQL:
$ sudo apt-get install mysql-utilities
1.2 Gunakan Dumper untuk mengeksport data MySQL
$ mysqldump --databases <database_name> --user=<username> --password=<password> > dumpfile.sql
di mana, 6b7267f525327f2a23dcb01791a146aa ialah nama pangkalan data yang akan dieksport, <.; ;kata laluan> ialah Nama pengguna dan kata laluan untuk menyambung ke pangkalan data.sql ialah fail data yang dieksport.
1.3 Gunakan Loader untuk mengimport data ke pangkalan data sasaran
$ mysql <database_name> -u <username> -p <password> < dumpfile.sql
di mana, 6b7267f525327f2a23dcb01791a146aa ialah nama pangkalan data sasaran, 62df6b318c6134012860f5ebb4051760 dumpfile.sql ialah fail data yang dieksport .
2. Replikasi isomorfik data MySQL
Replikasi isomorfik merujuk kepada mereplikasi pangkalan data MySQL kepada pangkalan data MySQL atau replikasi tuan-hamba MySQL yang sama. Replikasi tuan-hamba MySQL adalah kaedah replikasi pangkalan data yang paling biasa, yang boleh merealisasikan sandaran data dan pemisahan baca-tulis. Berikut menggunakan replikasi tuan-hamba MySQL sebagai contoh untuk menggambarkan.
2.1 Konfigurasi pangkalan data utama
Konfigurasikan yang berikut dalam fail konfigurasi my.cnf pangkalan data utama:
[mysqld] server-id=1 log-bin=mysql-bin
Tetapkan server-id kepada 1 untuk mengenal pasti pangkalan data utama, dan log-bin digunakan untuk mendayakan log binari.
2.2 Buat pengguna replikasi
Log masuk ke MySQL dan laksanakan pernyataan SQL berikut untuk mencipta pengguna replikasi:
CREATE USER 'replication'@'slave_ip' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'slave_ip'; FLUSH PRIVILEGES;
Di mana, slave_ip ialah alamat IP pangkalan data hamba, dan kata laluan ialah kata laluan pengguna replikasi.
2.3 Eksport data pangkalan data utama
Laksanakan arahan berikut pada pangkalan data utama untuk mengeksport data:
$ mysqldump --all-databases --single-transaction --master-data=1 > dumpfile.sql
Antaranya, --semua-pangkalan data bermaksud untuk mengeksport semua pangkalan data, --transaksi tunggal digunakan untuk mengekalkan konsistensi yang dieksport data, --master -data=1 digunakan untuk menambah maklumat salinan pada data yang dieksport.
2.4 Konfigurasikan pangkalan data hamba
Konfigurasikan yang berikut dalam fail konfigurasi my.cnf pangkalan data hamba:
[mysqld] server-id=2
Tetapkan server-id kepada 2 untuk mengenal pasti pangkalan data hamba.
2.5 Import data pangkalan data induk ke pangkalan data hamba
Jalankan arahan berikut pada pangkalan data hamba untuk mengimport data:
$ mysql -u <username> -p <password> < dumpfile.sql
Antaranya, 62df6b318c6134012860f5ebb4051760 adalah nama pengguna dan kata laluan untuk menyambung ke pangkalan data hamba, dan dumpfile.sql ialah fail data yang dieksport.
2.6 Mulakan replikasi tuan-hamba
Laksanakan arahan berikut pada pangkalan data hamba untuk memulakan replikasi tuan-hamba:
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=XXX; START SLAVE;
Antaranya, master_ip ialah alamat IP pangkalan data induk, kata laluan ialah kata laluan pengguna replikasi, dan mysql-bin.000001 ialah binari fail Log pangkalan data induk, XXX ialah lokasi log pangkalan data induk yang diperoleh melalui SHOW MASTER STATUS.
Kesimpulan:
Melalui alat Dumper dan Loader yang disediakan oleh MySQL, kita boleh merealisasikan replikasi heterogen pangkalan data MySQL kepada jenis pangkalan data lain dan melalui replikasi master-slave MySQL, kita boleh merealisasikan replikasi homogen pangkalan data MySQL ke pangkalan data MySQL yang sama; . Mengikut keperluan yang berbeza, adalah sangat penting untuk memilih kaedah replikasi yang sesuai. Saya harap pengenalan dan contoh dalam artikel ini dapat membantu pembaca lebih memahami dan menggunakan fungsi replikasi data dalam MySQL.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan replikasi data heterogen dan homogen dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!