mysql数据库的读写分离
一、首先读写分离呢 一般的结构(1主(master) 2从(slave))
![](https://img.haomeiwen.com/i14298675/a6525b318a88b260.png)
读写分离的原理:就是主服务器每当新增数据或者删除数据,都会有二进制日志去记录这些操作,然后从数据库就根据日志来自动执行相同的动作,这样就达到从数据会自动同步主数据库的数据。
二、读写分离配置(1主2从)---说明:我是先做好,后面才补上博客的
1、首先,先去服务里面停止掉mysql57(3306端口)(在服务上右键停止就可以了).mysql3307 mysql3308暂时忽略(后面讲到)
![](https://img.haomeiwen.com/i14298675/70daf290dcec5bf1.png)
2.接下来找到你的mysql57(3306端口)安装目录 例图 我自己的安装目录
![](https://img.haomeiwen.com/i14298675/9a169180b562f2f3.png)
3.将上面的文件夹复制2份到其它地方去,改名后面加上 3307 3308(命名只是为了区分)
![](https://img.haomeiwen.com/i14298675/75cbd27e7bf4e62c.png)
4、接下来进入到3307的文件夹,将my-default.ini这个文件 重命名为my.ini
![](https://img.haomeiwen.com/i14298675/d5a75069c73393cf.png)
5、接下来我们要在当前文件夹新增data文件夹,进行任何操作最好先停止掉mysql的服务
![](https://img.haomeiwen.com/i14298675/c12fce2dec545f0c.png)
6、然后我们去找到mysql57(3306端口)的data文件,将里面的东西可以全部拷贝到3307 data文件夹里面去
![](https://img.haomeiwen.com/i14298675/d2b964e663426bea.png)
三、开始文件里面的配置
1、首先我们找到mysql57(3306端口)的文件配置
![](https://img.haomeiwen.com/i14298675/42e4c87ea4d28bf0.png)
如图,这是3306端口的配置文件,我们需要在上面加上log-bin=mysql-bin 开启二进制日志, binlog-do-db=你想同步的数据库
server-id=1
2、接下来配置3307数据库的文件配置
![](https://img.haomeiwen.com/i14298675/03722cabc62779ab.png)
这是3307的配置文件,上面的replicate-do-db=你想要同步的数据库
3、配置完成后 接下来我们需要将3307加入到服务中
![](https://img.haomeiwen.com/i14298675/13e751af19043335.png)
首先进入到3307的bin目录下,然后输入 mysql -install mysql3307(这是自定义服务的名字) ,我们可以启动3307服务,然后用数据库工具连接
![](https://img.haomeiwen.com/i14298675/928ac886358d02d5.png)
四、最后一步 数据库里面配置
1.
![](https://img.haomeiwen.com/i14298675/395c50fae0165f47.png)
打开数据库工具连接上主数据库相当于我连接的 localhost(3306端口) mysql-slave-3307(从数据库),
然后在localhost数据库里面查询 show Master status
就会出现主数据库的信息 file position要记住
2.在3307从数据库上新建查询输入
change master to master_host='127.0.0.1', master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=154;
![](https://img.haomeiwen.com/i14298675/7dd07e6e0084a93c.png)
上面的master_user=数据库账号 master_password=数据库密码 master_log_file=上一步骤查询出来的file master_log_pos=上步骤查询出来的position
3.最后执行 start slave 开启主从复制(3308从数据库也是按照3307得到步骤一样配置)
![](https://img.haomeiwen.com/i14298675/ddd618b08b6a3cf7.png)