Windows操作系统MySQL数据库主从同步配置
2015-08-13 12:37
656 查看
Windows操作系统MySQL数据库主从同步配置
今天来分享MySQL数据库主从同步配置的方法和其中的几个注意事项,网上有很多这方面的文章,但大多数都是基于Linux操作系统,配置过程大同小异,博文中会着重描述Windows环境下的几点注意事项。主从同步的目的是实现Master服务器上的数据自动复制到Slave服务器上的过程。
MySQL配置
Master服务器IP地址:172.20.5.133
MySQL路径:C:\Program Files\MySQL\MySQL Server 5.6
Slave服务器
IP地址:172.20.4.94
MySQL路径:C:\Program Files\MySQL\MySQL Server 5.6
在主从服务器的路径下分别新建配置文件my.ini,可以将my-default.ini的内容复制进来进行修改
Master服务器my.ini
[mysqld] server-id = 1 binlog-do-db=test #要同步的数据库 binlog-ignore-db=mysql #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的 log-bin=mysql-bin #要生成的二进制日记文件名称
Slave服务器my.ini
[mysqld] server-id = 2 #可以填除1以外的任意数字,但须保证在服务器系统中id唯一 log-bin = mysql-bin replicate-do-db=test
注意:
在MySQL的不同版本中存在server_id 和server-id 两种,请根据自己的my-default.ini文件确定自己的版本。
Slave服务器中需要创建与Master服务器中同名的数据库,如:要同步的数据库是‘test’,就在Slave中创建数据库’test’。
配置文件写好后重启mysql
Master服务器在命令行输入
mysql> create user 'repl'@'172.20.4.94' identified by 'password'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'172.20.4.94'; mysql> shou master status;
+——————+———-+————–+——————+——————-+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+——————+———-+————–+——————+——————-+
| mysql-bin.000001 | 120 | test | mysql | |
+——————+———-+————–+——————+——————-+
1 row in set
Slave服务器命令行输入
mysql> change master to master_host='172.20.5.133',master_port=3306,master_user='repl',master_password='password',master_log_file='mysql-bin.000001',master_log_pos=120; mysql> start slave; mysql> show slave status; Slave_IO_Running: Yes Slave_SQL_Running: Yes
在slave状态中当且仅当
Slave_IO_Running和
Slave_SQL_Running均为
Yes才能实现主从数据传输。
当出现
Slave_IO_Running: No时,可能是
master_log_file参数和
master_log_pos参数填错了,可以根据master status的结果重新输入命令行
mysql> stop slave; mysql> change master to , mysql> master_log_file='mysql-bin.000001', mysql> master_log_pos=120; mysql> start slave;
当出现
Slave_SQL_Running: No时,在命令行输入
mysql> stop slave; mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; mysql> start slave;
当Slave状态正确时,主从服务器配置完成,这时在Master中插入的表格和数据就会同步到Slave的对应数据库中。
注意:
Slave服务器的
master_log_file参数和
master_log_pos参数对应master status中的File和Position
这里必须要跟获得的结果一模一样,注意下划线,横杠,空格和大小写必须保持一致
在Win7以上的版本中常常由于权限问题常会出现Access Denied的问题,建议安装navicat,在navicat命令行中完成权限和访问设置
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- 小心服务器内存居高不下的元凶--WebAPI服务
- Android之获取手机上的图片和视频缩略图thumbnails
- 运维入门
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- 如何重装TCP/IP协议
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 数据库链接字符串查询网站
- Windows 8 官方高清壁纸欣赏与下载
- MySQL 备份和恢复策略