主数据库:192.168.0.102 从数据库:192.168.0.104 (两个ip能ping通,互相能访问对方数据库)

主数据库设置:

1、在主数据库mysql安装目录下找到my.ini文件打开,在mysqld下添加主服务器配置:

#服务器 id
server-id=1
#二进制文件存放路径
log-bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin
#待同步的数据库
binlog-do-db=test1

保存并重启mysql服务后你可以在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件

2、给要连接的从服务器设置权限:grant replication slave,reload,super on *.* to slave@192.168.0.104 identified by 'root';

ps: 给主机192.168.0.104添加权限,用户名:slave,密码:root;(只需输入一次就可以了).

3、输入命令 show master status; # 找到File 和 Position 的值记录下来;(要保持两个数据库初始化时候需要同步的表字段和数据一致)


从数据库设置:

1、在mysql下找到my.ini文件,在其[mysqld] 下添加从服务器端配置:

#服务器 id ,不能和主服务器一致
server-id=2
#待同步的数据库
replicate-do-db=test1

保存并重启mysql服务

2、修改对主数据库的连接的参数:mysql>change master to master_host='192.168.0.104',master_user='slave',master_password='root', master_log_file='mysql-bin.000001',master_log_pos=107;
(这里输入的mysql-bin.000001和107请替换为步骤三中查询出来的值 否则不会同步的)

ps:可能会报一个错误,大概的意思是说slave线程正在运行,不能设置,这样的话,执行mysql>stop slave; 停止slave线程,然后再设置连接的参数;

3、设置完之后,执行 mysql> start slave; 开启slave线程;执行mysql> show slave status\G (没有分号),查看

Slave_IO_Running: Yes
Slave_SQL_Running: Yes