一. 主服务器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 statusG
附:常见错误
检查端口的进出站
用户名密码的权限