MySQL主从数据库同步设置、实现读写分离

随着信息化的深入发展,企业数据积累成指数积累,信息系统大量并发访问。

一方面我们可以优化代码框架,采用优秀缓存技术(redis),架设服务器集群来分担数据库压力;另一方面我们可以利用数据库主从配置,实现读写分离,也可减轻数据库压力。

MySQL主从复制原理

MySQL主从数据库同步设置、实现读写分离

从库生成两个线程,一个I/O线程,一个SQL线程;

i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;

主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;

SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;

主服务器(Master)负责网站NonQuery操作,从服务器负责Query操作,用户可以根据网站功能*分配*使用主从服务器。

下面记录下MySQL数据库主从配置步骤

准备及设备信息:

一台Master服务器(win10,192.168.169.87),一台Slave服务器(winServer2012R2, 192.168.168.216) 

一、配置Master服务器

1)在Master MySQL上创建一个用户'repl',并允许其他Slave服务器可以通过远程访问Master。

MySQL主从数据库同步设置、实现读写分离

MySQL主从数据库同步设置、实现读写分离

MySQL主从数据库同步设置、实现读写分离

2) 打开MySQL安装文件修改my.ini,在[mysqld]下面增加以下代码

 

MySQL主从数据库同步设置、实现读写分离

 

3) 查看Master状态及日志

mysql>show master status;

MySQL主从数据库同步设置、实现读写分离

4) 重启MySQL服务

二、配置Slave服务器

1)找到MySQL安装文件夹修改my.ini文件,在[mysqld]下面增加下面几行代码

 

MySQL主从数据库同步设置、实现读写分离

2)重启MySQL服务

3)连接Master

MySQL主从数据库同步设置、实现读写分离4)启动Slave

MySQL主从数据库同步设置、实现读写分离

5) 查看Slave运行状态

MySQL主从数据库同步设置、实现读写分离

Slave_IO_Running:Yes

Slave_SQL_Running:Yes 

表示运行成功,此时在master 增加表或数据,slave表自动同步。