这两天在搞MySQL 数据同步问题,这配置很繁琐。我这里用了两台机子做测试, 都是我本地的机子.分别是
主服务器 192.168.0.118
从服务器 192.168.0.187
1. 首先在 主从服务器分别创建数据库 backup_db和backup_table表作为测试
CREATE TABLE `backup_table` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) character set utf8 NOT NULL,
`sex` varchar(2) character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
注意主从服务器数据库结构必须一致。否则出错.
2.在住服务器的mysql按照目录找到my.ini文件,打开这个文件在文件末尾加上如下代码
#主机器的my.cnf(或my.ini)中应该配置:
server-id=1 #表示主服务器
log-bin=e:/mysqlback/ #同步事件的日志记录文件
log-bin-index =e:/mysqlback/master-log-bin.index
log-error =e:/mysqlback/master-error.log #错误日志
binlog-do-db=backup_db #提供数据同步服务的数据库(这里是刚才创建的测试数据库)
3. 配置完主服务器后 打开从服务器的my.cnf(或my.ini)文件 在文件末尾加入 如下代码
server-id=2 #表示从服务器
master-host=192.168.0.118 #主机A的地址
master-user=testuser #主机A提供给B的用户,该用户中需要包括数据库backup_db的权限
master-password=testpwd #访问密码
master-port=3306 #端口,主机的MYSQL端口
master-connect-retry=60 #重试间隔60秒
replicate-do-db=backup_db #同步的数据库
4. 完成后,然后在主从服务器的cmd 里面打开mysql控制台 授权从服务器的testuser用户来主服务器同步资源的权限
主服务器执行 GRANT FILE alt="mysql多台服务器数据同步" />
[2019-08-22 16:34:51]