一. 主服务器Master
1. 设置权限用户
设置只允许192.168.120.27访问的用户:
grant replication slave,super,reload on *.* to forslave@192.168.120.27 identified by 'zhijiatest';
2. 主数据库服务器安装目录,打开my.ini,在文件末尾增加如下配置:
#数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值;
server-id = 1
#启用二进制日志;
log-bin=mysql-bin
#用于创建存储过程时
log_bin_trust_function_creators=1
#需要同步的二进制数据库名;
binlog-do-db=readandwrite_test
#不同步的二进制数据库名,如果不设置可以将其注释掉;
#binlog-ignore-db=mysql
#每次trax 提交的时候写一次trax log, 并执行fsync
innodb_flush_log_at_trx_commit=1
#异步进行日志记录
sync_binlog=1
#设定生成的log文件名;
log-bin="D:/MySQL Datafiles/materlog"
#把更新的记录写到二进制文件中;
log-slave-updates
#跳过错误,继续执行复制操作
slave-skip-errors=all
3. 保存文件。重启Mysql服务。
4. 附录
show master status;
-- show master status \G
/*查询是否开启bin-log*/
show variables like '%log_bin%';
show variables like 'log_bin_trust_function_creators';
show master logs;
show processlist;
FLUSH PRIVILEGES;
show binlog events;
show binary logs;
二. 从服务器Slave
1. 配置
#如果需要增加Slave库则,此id往后顺延;
server-id = 2
#启用二进制日志;
log-bin=mysql-bin
#用于创建存储过程时
log_bin_trust_function_creators=1
2. Mysql>运行
CHANGE MASTER TO
-- 主库host
MASTER_HOST='192.168.120.57',
-- 在主数据库服务器中建立的用于该从服务器备份使用的用户
-- MASTER_USER='forslave',
-- MASTER_PASSWORD='zhijiatest',
MASTER_USER='root',
MASTER_PASSWORD='root',
MASTER_PORT=3306,
-- 主服务器的位置
MASTER_LOG_FILE='materlog.000001',
MASTER_LOG_POS=98,
-- 如果发现主服务器断线,重新连接的时间差
MASTER_CONNECT_RETRY=60;
3. Mysql>运行
START SLAVE;
-- STOP SLAVE;
show slave status;
-- show slave status\G
附:常见错误
检查端口的进出站
用户名密码的权限