两台windows服务器A,B分别部署了mysql,A、B分别表示两台服务器的ip地址。
这里主数据库ip地址我用A,从数据库ip地址我用B,确保主数据库和从数据库里面数据库和表一致
主数据库这样操作:
一、配置my.ini(mysql配置文件)
server-id=1 #服务器 id
log-bin=mysql-bin
binlog-do-db=test #主服务器上待同步的数据库
二、配置从服务器的连接权限
grant replication slave,reload,super on *.* to master@B identified by 'master123'; //master和master123分别表示连接主数据库的用户名和密码,B表示从数据库ip
设置完毕,重新启动mysql
从数据库这样操作:
一、配置my.ini(mysql配置文件)
server-id=2 #服务器 id ,不能和主服务器一致
replicate-do-db=test #从服务器上待同步的数据库
二、修改对主数据库的连接的参数:mysql>change master to master_host=A,master_user='master',master_password='mastre123', master_log_file='mysql-bin.000001',master_log_pos=765;
master_log_file和master_log_pos需要在主数据库中输入
mysql>show master status;
来获取要填写的值
三、执行 mysql> start slave; 开启slave线程;执行mysql> show slave status\G ,发现
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
说明配置成功
最后:成功之后,可以在主数据库上执行insert update delete等操作,从数据库会跟着进行更新,注意这里只是主从配置,从数据更新不会影响主数据库。