一、 实验环境
操作系统:win7以上
数据库:mysql5.6
二、 修改主数据库master
win7 下 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini 这才是mysql启动配置文件的位置。
[必须]服务器唯一ID,默认是1,一般取IP最后一段
server_id = 41
[必须]启用二进制日志
log_bin=mysql-bin
需要备份的数据库名 多个库以逗号分隔
binlog-do-db =test
若涉及及同步函数或者存储过程需要配置,否则主备会产生异常不能同步
log_bin_trust_function_creators=TRUE
三、修改从数据库slave
C:\soft\mysql-advanced-5.6.21-winx64\my.ini
如果ini文件名是my-default.ini修改为my.ini。
[必须]服务器唯一ID,默认是1,一般取IP最后一段
server_id = 44
这里与主数据库的server_id不同即可。
四、 重启数据库
停止服务
net stop mysql
启动服务
net start mysql
五、 在主数据库建立账号并授权slave
一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.1.44,加强安全。
GRANT REPLICATION SLAVE ON . to ‘username’@’%’ identified by ‘pwd’;
show master status
+——————+———-+————–+——————+——————-+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+——————+———-+————–+——————+——————-+
| mysql-bin.000003 | 120 | test | | |
+——————+———-+————–+——————+——————-+
验证授权结果
select * from user where host=’%’ and user=’usename’\G;
六、 配置从数据库slave
mysql> change master to
master_host=’192.168.1.41’,
master_user=’tantuls’,
master_password=’123456’,
master_log_file=’mysql-bin.000003’,
master_log_pos=120; //
报错处理:
stop slave
reset slave
done change…
start slave
七、检测从数据库复制功能状态
show master status;
其中下面两项都必须为yes。
slave_io_running: Yes
slave_sql_running: Yes