2种方式,可以通过修改配置文件my.ini或者通过MySqlAdministrator管理工具进行配置,
MySqlAdministrator工具配置最后也是生产my.ini文件,现在就以MySqlAdministrator为例进行说明
有两台机器 A:192.168.1.44,B:192.168.1.12,其中A为Master,B为Slave,配置如下:
1)、配置Master,通过MySqlAdministrator,登录A服务器,进入Setup Variables->log files 页签
几个主要的配置参数需要配置
a:Binary Logfile Name:<填你需要设置的二进制日志文件名>
b:Log update for:<填需要同步的数据名>
c:Ignore updates for:<填不需要更新的数据>(这个参数可以刻不设,如果有多个,可以在配置文件中加多个)
切换到 Setup Variables->Replication 页签
a:配置Server id:<填一个数字,<= 2的32次方 >
配置完后保存,就可以看到my.ini就会多一部分复制的配置项出来
以上配置就完成了Master的基本配置了,我的配置截图:
配置问后,my.ini的部分截图:
2)、配置Slave服务器 通过MySqlAdministrator,登录B服务器,进入Setup Variables->Replication 页签
几个主要需要配置的的参数;
a:Server id:<填一个数字,<= 2的32次方 >,不能与A服务器相同
b:Replication these:<需要复制的数据库名>
c:Innore Dbs:<不需要同步的数据名>
d:Master hostname:<Master服务器的IP地址>
e:Master UserName:<Master服务器中有复制权限的用户>
f:Master password:<Master服务器中有复制权限的用户的密码>
配置完后保存,就可以看到my.ini就会多一部分复制的配置项出来
以上配置就完成了Master的基本配置了,我的配置截图:
配置问后,my.ini的部分截图:
3)、重新启动Master服务器
进入mysql命令符,键入命令:show master status;查看master是否配置成功,成功会返回一条记录,例如:
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000007 | 106 | test | mysql |
+------------------+----------+--------------+------------------+
4)、重新启动Slave服务器
注意:默认情况下,slave功能是自动随mysql服务器启动的,如果不想自动启动,需要在配置一个配置项my.ini中 skip-slave-star
配置界面中是
进入mysql命令符,键入命令,show master status \G;
成功配置后,主要看
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
都为yes说明配置成功
如果配置成,手动启动的话,则会显现
Slave_IO_Running: No
Slave_SQL_Running: Yes
这时候通过start slave 命令即可启动slave
5)、配置完成后,进行测试,在Master中修改的数据,都会复制到slave中去。
双向同步,其实就是在Master上多配置slave的信息,在slave上多配置Master的信息,也就是A-B的一个反过程,注意在配置的时候。
我的双向复制的配置文件my.ini文件,加在 [mysqld]的节点下面
A:服务器:
server-id=101
log-bin=mysql-bin
binlog-do-db=test
binlog-ignore-db=mysql
slave_compressed_protocol
replicate-do-db=test
replicate-ignore-db=mysql
master-host=192.168.1.44
master-user=root
master-password=admin
#skip-slave-start
B:服务器
server-id=100
log-bin=mysql-bin
binlog-do-db=test
binlog-ignore-db=mysql
slave_compressed_protocol
replicate-ignore-db=mysql
master-host=192.168.1.12
master-user=root
master-password=admin
replicate-do-db=test
#skip-slave-start
以上就是复制的配置,如果不想通过界面配置的话,也可以直接修改配置文件,加入重要的配置参数就可以了
另,改文章只描述了如何配置复制,针对复制使用过程中的问题,可以参考Mysql的手册,关于复制章节的说明
其中双向复制最为重要的一个问题,就是要解决自增列ID冲突的问题,这个问题在Mysql手册中有说明