一、主服务器方面
- 同步时间
- 检查主服务器配置:需要启动二进制日志和设置当前节点的全局ID
vim /etc/my.cnf
[mysqld]
log_bin
server_id=1
innodb_file_per_table
skip_name_resolve=on
mysql> grant replication slave on *.* to rpl_user@'192.168.30.%' identified by 'test';
- 创建主服务器当前的一个完全备份
如果不想把上一步中的帐号也备份下来,那么备份应该在插件帐号前备份。
mysql> show master logs;
mysqldump -A -F --single-transaction --master-data=1 --flush-privileges > /backups/full_backup.sql
# 记录从服务器开始同步的位置
mysql> show master logs;
# 将备份的sql脚本发送到新增的从服务上
scp /backups/full_backup.sql 192.168.30.114:/backups
二、从服务器方面
- 配置服务:设置一个节点标识ID,为了安全设置只读从服务
vim /etc/my.cnf
[mysqld]
server_id=2
relay_log=relay-log
read_only=on
- 修改主服务器的备份SQL脚本:主要修改change master to 语句
vim /backups/full_backup.sql
CHANGE MASTER TO
MASTER_HOST='192.168.30.7',
MASTER_USER='rpl_user',
MASTER_PASSWORD='test',
MASTER_PORT=3306,
MASTER_LOG_FILE='mariadb-bin.000004',
MASTER_LOG_POS=245;
mysql < /backups/full_backup.sql
# 检查数据库是否一致
mysql
start slave;
# 查看是否有错误
show slave status \G
- 如果主从服务器数据不一致
只能重新从主服务器备份还原数据,然后再 start slave;