MySQL主从数据库同步设置、实现读写分离
随着信息化的深入发展,企业数据积累成指数积累,信息系统大量并发访问。
一方面我们可以优化代码框架,采用优秀缓存技术(redis),架设服务器集群来分担数据库压力;另一方面我们可以利用数据库主从配置,实现读写分离,也可减轻数据库压力。
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。
2) 打开MySQL安装文件修改my.ini,在[mysqld]下面增加以下代码
3) 查看Master状态及日志
mysql>show master status;
4) 重启MySQL服务
二、配置Slave服务器
1)找到MySQL安装文件夹修改my.ini文件,在[mysqld]下面增加下面几行代码
2)重启MySQL服务
3)连接Master
4)启动Slave
5) 查看Slave运行状态
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
表示运行成功,此时在master 增加表或数据,slave表自动同步。