Master
一、創建複製的用戶
create user 'dba'@'192.168.%.%' identified by '123456';
grant replication slave on *.* to dba@'192.168.%.%';
Slave
mysql -u root -p < all.sqlchange master to master_host='192.168.55.133',
master_user='dba',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=154;
start slave;
show slave status \G;
MySQL備份遇到的坑
mysqldump --single-transaction --master-data=2 --triggers --routines --all-databases -u root -p > all.sql
mysqldump --single-transaction --master-data=2 --triggers --routines --events --all-databases -u root -p > all.sql
當執行mysqldump命令後出現mysqldump: Error: Binlogging on server not active
在linux環境下,修改vi /etc/my.cnf文件,去掉mysqld下面log_bin的註釋,將其改爲
log_bin=mysql-bin
server_id=1
,輸入命令systemctl restart mysqld重啓MySQL。
GTID主從複製:
change master to
master_host='192.168.55.137',
master_port=3306,
master_user='dba',
master_password='123456',
master_auto_position=1;
關於從庫的其他屬性,特別重要
1、只讀屬性
read_only=on
super_read_only=on
2、slave的開啓是否隨着mysqld的啓動而一起啓動
skip_slave_start=on
3、log_slave_updates=on