您的位置:首页 > 数据库 > MySQL

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_idserver-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命令行中完成权限和访问设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息