Centos Mysql 主从备份

1、主库

设置 my.cnf

server_id = 2 必须唯一

binlog-do-db = abo-assist 备份的数据库

log-bin=mysql-bin 开启 binlog

创建同步账号并授权

CREATE USER 'repl'@'%' IDENTIFIED WITH 'mysql_native_password' BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

flush privileges;

2、备份主库数据库,一定要带上 master-data

mysqldump -uroot -p --insert-ignore --single-transaction --databases coin --master-data=1>/var/lib/mysql/XXX.sql
3、从库导入数据并记下 master_log_file 与 master_log_pos 的位置,参考下图

使用 rsync传输
rsync -avzP -e "ssh -p 2222" /local/path/ user@1.1.1.1:/remote/path/

从库导入:

mysql -uroot -p
//先去掉外键检查
SET FOREIGN_KEY_CHECKS = 0;
SET UNIQUE_CHECKS = 0;

mysql -u user -p database_name < file.sql

//启用外键检查
SET FOREIGN_KEY_CHECKS = 1;
SET UNIQUE_CHECKS = 1;

2、从库

server_id = 10 必须唯一

3、开启主从同步(从库上操作)

mysql> stop slave;

mysql>
CHANGE REPLICATION SOURCE TO SOURCE_HOST='x.x.x.x', SOURCE_USER='rep', SOURCE_PASSWORD='123456', SOURCE_PORT=3306, SOURCE_LOG_FILE='mysql-bin.00001', SOURCE_LOG_POS=11963618;

mysql> start slave;

备注

清除从库日志

mysql>show slave status\G (查看从库备份状态)

mysql>reset master

mysql 访问外部地址

myql -h192.168. -uroot -p -P3306

从库同步慢:
set global sync_binlog=20;

备份多个表
mysqldump -uroot -p --databases dbxx --tables table1 table2 > /var/lib/mysql/xxxx.sql

posted @ 2024-05-18 09:12  abowu  阅读(49)  评论(0)    收藏  举报