一.查看主库binlog是否开启
show variables like 'log_%';
show binary logs;
二.导出主库数据
mysqldump -uroot -pxxx --flush-logs --single-transaction --master-data=2 --all-databases > backup.sql
?
--flush-logs 代表重新刷写另外一个binlog文件
--single-transaction 代表开启事物,不锁表导出
--master-data=2 代表导出的文件头部添加binlog点位信息
三.从库导入数据
mysql -uroot < backup.sql
如忘记密码,可在/etc/my.cnf? [mysqld]下面添加skip-grant-tables,重启即可
四.从库设置同步
change master to master_host='xxx',master_user='root',master_password='xxx',master_log_file='mysql-bin.000241',master_log_pos=234;
?
点位信息从导出的backup文件头部拿
五.开启同步并查看状态
开启同步
start slave;
?
查看状态
show slave status\G;?
?
Slave_IO_Running: Yes Slave_SQL_Running: Yes
状态为yes即可
六.其他相关命令
1.从库清除同步
stop slave; reset slave all;?
?
2.gtid开启
/etc/my.cnf中添加
gtid_mode=ON log_slave_updates=1 enforce_gtid_consistency=ON
?
或者在线开SET @@GLOBAL.GTID_MODE = ON_PERMISSIVE;
?
3.创建用户并授权
CREATE USER 'xxx'@'%' IDENTIFIED BY 'xxx'; GRANT SELECT ON *.* TO 'xxx'@'%'' ; flush privileges; ?
|