欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

window环境下配置MySQL5.7主从复制同步的详细教程

程序员文章站 2023-08-26 19:46:57
前言: 最近公司项目要在“程序客户端”和“数据端”加入分布式中间件mycat,目的是为了减少单服务器的负载压力,提高数据库的性能,其中是为了: 1....

前言:

最近公司项目要在“程序客户端”和“数据端”加入分布式中间件mycat,目的是为了减少单服务器的负载压力,提高数据库的性能,其中是为了:

1. 采用主从数据库的读写分离、

2. 采用分库分表特性。

关于mycat详细资料,请参考官网[:https://www.mycat.io/]

在使用mycat的主从数据库的读写分离特性,首先要配置好==mysql==的主从复制。

1.环境准备:

master(主数据库)服务器ip:自己的ip,账号为root,密码root

slave(从数据库)服务器ip:自己的ip,账号为root,密码root

都在两个服务器上安装mysql5.7 ==注:两个服务器为:win7==

2.配置文件

master(主数据库)服务器配置:

找到master服务器mysql配置文件my.ini(linux中的mysql配置文件都在/etc/my.cnf),用记事本打开,在[mysqld]下添加主服务相关内容

==这里要特别说明==:

在window,mysql5.7版本的数据库,它的my.ini文件不在mysql的安装路径下,而是在c:\programdata\mysql\mysql server 5.7(我的),且programdata这个文件夹是默认隐藏的,要打开显示

相关操作如下:

图片

window环境下配置MySQL5.7主从复制同步的详细教程
window环境下配置MySQL5.7主从复制同步的详细教程

my.ini文件配置一下内容

log-bin=mysql-bin

log-bin-index=mysql-bin.index

server-id=201 --服务id,和slave 的server-id不一样,一般问ip的后3位

sync_binlog=224

binlog-do-db= testdb --做主从同步的数据库名

binlog-ignore-db= mysql –忽略不同步的数据库名

binlog-ignore-db= performance_schema

binlog-ignore-db= information_schema

完成配置文件my.ini之后重启mysql服务。

3.授权:授权slave同步数据的账号密码。

本人此次试验是一主一从

在192.168.8.201(主)中创建一个192.168.8.193(从)主机中可以登录的mysql用户

1. 授权命令为:

grant replication slave on *.* to 'mysql3'@'192.168.8.193' identified by '123456';;//账号:mysql3 为slave使用的账号

2.刷新权限

mysql>flush privileges;

3.查看192.168.95.11mysql服务器二进制文件名与位置

mysql>show master status;

window环境下配置MySQL5.7主从复制同步的详细教程

运行结果如下:

在master端,使用以下命令查看master端状态,需要记住状态的file,和position参数,在slave配置中会用到。

4.slave服务器(192.168.8.193)配置

修改配置:在slave服务器中找到mysql的配置文件my.ini,用记事本打开,在[mysqld]下新增以下内容:

server-id=193 --服务id,和master 的server-id不一样,一般问ip的后3位

log-bin = mysql-bin

重启slave mysql服务;

5.告知二进制文件名与位置(在192.168.8.193中执行:)

change master to

master_host='192.168.8.201',

master_user='mysql3',

master_password='123456',

master_log_file='mysql-bin.000003',

master_log_pos=6913;

window环境下配置MySQL5.7主从复制同步的详细教程

完成主从复制配置

6.测试主从复制( 在192.168.8.193中执行)

mysql>start slave; #开启复制

mysql>show slave status\g #查看主从复制是否配置成功

window环境下配置MySQL5.7主从复制同步的详细教程

当看到slave_io_running: yes、slave_sql_running: yes才表明==状态正常==

7. 实际测试:–登陆192.168.8.201主mysql

mysql>show databases;

window环境下配置MySQL5.7主从复制同步的详细教程

–登陆192.168.8.193从mysql

mysql>show databases;

window环境下配置MySQL5.7主从复制同步的详细教程

192.168.8.201主mysql操作:

mysql>create database aa;

window环境下配置MySQL5.7主从复制同步的详细教程

192.168.8.193从mysql操作:

mysql>show databases;

window环境下配置MySQL5.7主从复制同步的详细教程

由上面两个结果图可得知,两主机达到了数据同步。主从复制的配置就是如此的简单。

8.完成mysql5.7主从复制