主库:
1.配置my.ini文件
在mysql下找到my.ini文件,在其[mysqld] 下添加主服务器端配置:
- server-id=1 #服务器 id
- log-bin=C:\MySQL\MySQL Server 5.5\mysql-bin #二进制文件存放路径
- binlog-do-db=test1 #待同步的数据库
- binlog-ignore-db=information_schema #忽略不同步的数据库,这个可以不用写
- binlog-ignore-db=mysql #忽略不同步的数据库,这个可以不用写
- binlog-ignore-db=test #忽略不同步的数据库,这个可以不用写
- expire_logs_days = 7 #超过7天自动删除日志文件可以防止同步日志文件过大(可选项)
保存my.ini文件,重启数据库,然后会在C:\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件;
2.设置访问权限
通过cmd进入mysql数据库:cd C:\MySQL\MySQL Server 5.5\bin 输入用户名和密码:mysql -u用户名 -p密码 ( mysql -uroot -proot )
mysql>grant replication slave,reload,super on *.* to slavetb@192.168.1.193 identified by '123456'(ps:从库密码);
(ps:从库ip:192.168.1.193,从库用户名:slavetb,从库密码:123456)
输入命令 show master status\G,找到File 和 Position 的值记录下来,在从服务器(Slave)配置同步关系时使用。
从库:
1.配置my.ini文件
在mysql下找到my.ini文件,在其[mysqld] 下添加从服务器端配置:
- server-id=2 #服务器 id ,不能和主服务器一致
- replicate-do-db=test1 #待同步的数据库 要改
- binlog-ignore-db=information_schema #忽略不同步的数据库,这个可以不用写)
- binlog-ignore-db=mysql #忽略不同步的数据库,这个可以不用写
- binlog-ignore-db=test #忽略不同步的数据库,这个可以不用写
- expire_logs_days = 7 #超过7天自动删除日志文件可以防止同步日志文件过大(可选项)
保存my.ini文件,重启从数据库。
2.设置访问权限
通过cmd进入mysql:cd C:\MySQL\MySQL Server 5.5\bin;输入用户名和密码:mysql -u用户名 -p密码 进入从库
执行如下命令设置访问主库权限
mysql>change master to master_host='192.168.13.146',master_user='root',master_password='admin2015', master_log_file='mysql-bin.000001',master_log_pos=107;
(ps:所有信息是主库的信息)
3. 开启slave线程
执行 如下命令; 开启slave线程;
mysql> start slave;
执行如下命令,查看Slave_IO_Running: Yes,Slave_SQL_Running: Yes,必须是两个Yes。
mysql> show slave status\G