直接上乾貨,親測!!
1:配置文件在/etc/my.cnf。取消log-bin=mysql-bin前面的註釋。
2:在master機上爲slave機添加一同步帳號(同步賬號是有replication,slave權限即可)
MariaDB[(none)]>grant replication slave on *.* to 'slave'@'192.168.0.53' identified by 'aaaaaaaa';
grant replication slave on *.* to 'slave'@'192.168.0.54' identified by 'aaaaaaaa';
MariaDB[(none)]>flush privileges;
3 :刷新log,記錄 File,Position
MariaDB[(none)]>FLUSH LOGS;
MariaDB[(none)]>SHOW MASTER STATUS;
4:倒數據庫保持一致
導出:mysqldump -uroot -p --all-datebases > /mnt/stroage_vdb/all.sql
同步:scp ./all.sql 192.168.0.53:/mnt
導入:mysql:source /mnt/all.sql
5:在B主機上將master節點指向A主機
MariaDB[(none)]>CHANGE MASTER TO MASTER_HOST = '192.168.0.52', MASTER_USER = 'slave', MASTER_PASSWORD = 'lAMIikej7QXlQ1th', MASTER_PORT = 3306, MASTER_LOG_FILE = ' mysql-bin.000011', MASTER_LOG_POS = 154 ;
6:啓動主從同步
MariaDB[(none)]>START SLAVE;
7: 查看狀態是否有兩個yes
MariaDB[(none)]>SHOW SLAVE STATUS;
其他:
異常情況:
問題1:Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’
1.停止從庫binglog同步
MariaDB[(none)]> stop slave;
2.在主節點刷新log,重新記錄File,Position
MariaDB[(none)]>flush logs;
3.在從節點更改binlog位置:
MariaDB[(none)]> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000114',MASTER_LOG_POS=120
4.啓動從庫同步,並查看狀態
MariaDB[(none)]> start slave
MariaDB[(none)]>SHOW MASTER STATUS;