1、服务器准备
192.xx.xx.31 用于做从库 slave;
192.xx.xx.32 用于做主库 master;
2、配置主库
在主机上,授权给从数据库服务器:
GRANT REPLICATION SLAVE ON *.* to'root'@'192.xx.xx.31 'identified by 'your passwd';
FLUSH PRIVILEGES;
3、改配置文件
修改配置文件 /etc/my.cnf (不一定都在/etc下)
开启binlog,并设置server-id (修改后需要重启mysql)
log-bin=mysql-binlog
server_id=1
master_info_repository = TABLE
#需要同步的数据库名称
binlog-do-db = xxxxx-name
以下为主库整体配置:
log-bin=mysql-binlog
binlog-do-db = xxxxx-name
expire_logs_days=5
binlog_format=ROW
binlog_row_image=minimal
server_id=2
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay-log=relay-log
relay-log-index=slave-relay-bin.index
查看主服务器当前的二进制日志名和偏移量(目的是为了在从数据库启动后,从这个点开始进行数据的恢复同步)
show master status; (用于第5步中的配置)
4、配置从库
从库配置
#slave
server_id=1
replicate-do-db=xxxxx-name
#作为从库时生效,中继日志relay-log可以自我修复
relay_log_recovery=1
#作为从库时生效,主从复制时忽略的错误
slave_skip_errors=ddl_exist_errors
5、登录从库192.xx.xx.31 指定主库
change master to master_host='192.xx.xx.32',master_port=3306,master_user='root',master_password='your passwd',master_log_file='binlog.000001',master_log_pos=107240350;
6、启动slave进程
start slave;
7、查看查看slave的状态
show slave status\G;