一、准备工作:
注意
1.主从数据库版本,数据保持一致
主数据库:192.168.1.147
从数据库:192.168.1.10
二、主数据库master修改:
1.修改mysql配置
找到主数据库的配置文件my.ini,插入如下两行:
[mysqld]
log-bin=D:\myphp_www\PHPTutorial\MySQL\log\mysql-bin.log #开启二进制日志(要建立相对应的文件)
server-id=1 #设置server-id,默认为1
2.重启mysql,创建用于同步的用户账号
创建用户并授权:用户:admin 密码:admin
mysql> CREATE USER ‘admin’@‘192.168.1.10’ IDENTIFIED BY ‘admin’;#创建用户
mysql> GRANT REPLICATION SLAVE ON . TO ‘admin’@‘192.168.1.10’;#分配权限
mysql>flush privileges; #刷新权限
3.查看master状态,记录二进制文件名(mysql-bin.000001)和位置(510):
SHOW MASTER STATUS;
三、从服务器slave修改:
1.修改mysql配置my.ini配置文件,添加server-id
[mysqld]
server-id=2 #设置server-id,必须唯一
2.重启mysql,打开mysql会话,执行同步SQL语句
CHANGE MASTER TO MASTER_HOST='192.168.1.147', MASTER_USER='admin', MASTER_PASSWORD='admin', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=510;
#启动slave同步进程:
start slave;
#查看slave状态:
show slave status\G;
上图中两个参数都为YES的时候就表示主从同步设置成功了。
验证是否成功,master数据库的test数据库的一张表中插入一条数据,在slave的test库的相同数据表中查看是否有新增的数据即可验证主从复制功能是否有效。
还可以关闭slave(mysql>stop slave;),然后再修改master,看slave是否也相应修改(停止slave后,master的修改不会同步到slave),就可以完成主从复制功能的验证了。