MySQL在windows下主从数据库同步和注意事项

主从服务器原理

工具:两个mysql数据库 如:192.168.1.1(主)和192.168.1.2(从)
开始配置
一:修改主数据库my.ini配置(可点击软件,打开所在位置)
Server-id = 1(初始配置没有这个,手动添加)
log-bin = mysql-synchronous-log 二进制日志文件,必填项,否则不能同步数据;如果不取名字的话,那么就会以计算机的名字加编号来命名二进制文件(网上看的,未实验如何自命名,建议自己设置名字)
binlog-do-db = test-table 需要同步的数据库,如果有多个库需要同步,使用逗号分隔,逐条添加,不写则默认全部库
binlog-ignore-db = ignore-table 不需要同步的数据库,规则同上
修改完毕后重启MySQL服务
二:向主数据库添加同步的账号,在从服务器添加主从关系时使用
执行命令:grant replication slave,file on *.* to 'slave'@'%' identified by '123456';
三:查看同步信息
在mysql下执行命令:show master status;可查询出日志的文件名和Position
四:配置从数据库的my.ini
类似配置主数据库,不过log-bin不需要配置
五:在从MySQL上执行命令链接主服务器
1:先执行slave stop命令,停止slave服务
2:mysql> change master to
       -> master_host='192.168.1.1',
       -> master_user='slave',
       -> master_password='123456',
       -> master_log_file='mysql-synchronous-log.000040',(步骤三查询出的日志名)
       -> master_log_pos=107;(步骤三查询出的Position)
成功后会提示"Query OK, 0 rows affected"
3:执行slave start命令,启动服务。成功后会提示"Query OK, 0 rows affected"
六:验证主从是否配置成功
最后使用show slave status\G;查看Slave_IO_Running和Slave_SQL_Running的状态,如果都为Yes,就成功了
注意:
①:Server-id 这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错
②:每次修改配置文件,都必须重启
③:从服务器链接主服务器时,日志文件名和位置要跟主服务器中查询出来的一致
④:如果要具体到某个库中的某个表,可在从服务器配置中添加 replicate-wild-ignore-table=test-table.%(百分号替换为你需要同步的表)
⑤:如果无法链接到主数据库,需要看主数据库中my.ini中bind 127.0.0.1是否没有被注释,如果没有,那么只能在本机登录,而不能使用远程登录方式(别人文章中看见的,未实验)
⑥如果修改配置文件重启后无效,可查看服务中的mysql服务的属性,--defaults- file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"  mysql服务读取的配置文件在这里,修改了这个路径下的my.ini,重启服务,配置就生效了。

猜你喜欢

转载自zhexian.iteye.com/blog/2392951