MySQL版本8.0.12
前言:备库常见的使用场景
- 不同角色使用不同数据库。
- 备库当作备用的主库,必要时进行主备切换。
- 备库放到远程数据中心,用作灾备。
- 延迟备库,用于数据误删恢复。
- 备库作为备份、培训、开发或测试用服务器。
1、备机上安装MySQL服务
版本必须等于或高于主库版本,因为MySQL是向前兼容的,高版本的MySQL可以解析低版本的binlog,反之则不一定。
2、进行配置
修改/etc/my.cnf配置文件
- 配置server_id,主库和备库必须不同
- 配置bin_log=binlog,建议配置
- 配置binlog_format=row
- 备库上配置read_only=1,relay_log=/var/lib/mysql/mysql-relay-bin,log_slave_updates=1(可以让备库成为其他备库的主库)
- 创建备份用户,建议主备库上都创建
create user 'repl'@'172.17.1.%' identifed by 'passwd';
grant replication slave, replication client on *.* to 'repl'@'172.17.1.%';
3、备库上手动备份主库所有数据
mysqldump -uroot -ppassword --single-transaction --all-databases --master-data=1 --host=mysql-master | mysql --host=mysql-slave -uroot -ppassword
4、备库上切换master
change master to master_host='mysql-master',
master_user='repl',
master_password='password',
master_log_file='binlog.000010',