Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menyinkronkan ulang DB Mysql jika Master dan slave memiliki basis data yang berbeda jika replikasi Mysql?

Ini adalah prosedur langkah demi langkah lengkap untuk menyinkronkan ulang replikasi master-slave dari awal:

Di master:

RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

Dan salin nilai hasil dari perintah terakhir di suatu tempat.

Tanpa menutup koneksi ke klien (karena akan melepaskan kunci baca) keluarkan perintah untuk mendapatkan dump master:

mysqldump -u root -p --all-databases > /a/path/mysqldump.sql

Sekarang Anda dapat melepaskan kunci, bahkan jika dump belum berakhir. Untuk melakukannya, lakukan perintah berikut di klien MySQL:

UNLOCK TABLES;

Sekarang salin file dump ke slave menggunakan scp atau alat pilihan Anda.

Pada budak:

Buka koneksi ke mysql dan ketik:

STOP SLAVE;

Muat dump data master dengan perintah konsol ini:

mysql -uroot -p < mysqldump.sql

Sinkronkan log budak dan master:

RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;

Di mana nilai bidang di atas adalah yang Anda salin sebelumnya.

Terakhir, ketik:

START SLAVE;

Untuk memeriksa apakah semuanya berfungsi kembali, setelah mengetik:

SHOW SLAVE STATUS;

Anda akan melihat:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Itu dia!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memperbarui Tampilan di MySQL

  2. Setel Ulang Kata Sandi Root Server MySQL

  3. Baris mana yang dikembalikan saat menggunakan LIMIT dengan OFFSET di MySQL?

  4. Mendapatkan kembali akses ke kata sandi MySQL yang hilang untuk PHPMyAdmin di WAMP

  5. Peringatan:mysql_result() mengharapkan parameter 1 menjadi sumber daya, diberikan boolean