一、首先读写分离呢 一般的结构(1主(master) 2从(slave))
![](http://upload-images.jianshu.io/upload_images/14298675-a6525b318a88b260.png?imageMogr2/auto-orient/strip|imageView2/2/w/736/format/webp)
读写分离的原理:就是主服务器每当新增数据或者删除数据,都会有二进制日志去记录这些操作,然后从数据库就根据日志来自动执行相同的动作,这样就达到从数据会自动同步主数据库的数据。
二、读写分离配置(1主2从)---说明:我是先做好,后面才补上博客的
1、首先,先去服务里面停止掉mysql57(3306端口)(在服务上右键停止就可以了).mysql3307 mysql3308暂时忽略(后面讲到)
![](http://upload-images.jianshu.io/upload_images/14298675-70daf290dcec5bf1.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
2.接下来找到你的mysql57(3306端口)安装目录 例图 我自己的安装目录
![](http://upload-images.jianshu.io/upload_images/14298675-9a169180b562f2f3.png?imageMogr2/auto-orient/strip|imageView2/2/w/839/format/webp)
3.将上面的文件夹复制2份到其它地方去,改名后面加上 3307 3308(命名只是为了区分)
![](http://upload-images.jianshu.io/upload_images/14298675-75cbd27e7bf4e62c.png?imageMogr2/auto-orient/strip|imageView2/2/w/361/format/webp)
4、接下来进入到3307的文件夹,将my-default.ini这个文件 重命名为my.ini
![](http://upload-images.jianshu.io/upload_images/14298675-d5a75069c73393cf.png?imageMogr2/auto-orient/strip|imageView2/2/w/626/format/webp)
5、接下来我们要在当前文件夹新增data文件夹,进行任何操作最好先停止掉mysql的服务
![](http://upload-images.jianshu.io/upload_images/14298675-c12fce2dec545f0c.png?imageMogr2/auto-orient/strip|imageView2/2/w/911/format/webp)
6、然后我们去找到mysql57(3306端口)的data文件,将里面的东西可以全部拷贝到3307 data文件夹里面去
![](http://upload-images.jianshu.io/upload_images/14298675-d2b964e663426bea.png?imageMogr2/auto-orient/strip|imageView2/2/w/750/format/webp)
三、开始文件里面的配置
1、首先我们找到mysql57(3306端口)的文件配置
![](http://upload-images.jianshu.io/upload_images/14298675-42e4c87ea4d28bf0.png?imageMogr2/auto-orient/strip|imageView2/2/w/1185/format/webp)
如图,这是3306端口的配置文件,我们需要在上面加上log-bin=mysql-bin 开启二进制日志, binlog-do-db=你想同步的数据库
server-id=1
2、接下来配置3307数据库的文件配置
![](http://upload-images.jianshu.io/upload_images/14298675-03722cabc62779ab.png?imageMogr2/auto-orient/strip|imageView2/2/w/1181/format/webp)
这是3307的配置文件,上面的replicate-do-db=你想要同步的数据库
3、配置完成后 接下来我们需要将3307加入到服务中
![](http://upload-images.jianshu.io/upload_images/14298675-13e751af19043335.png?imageMogr2/auto-orient/strip|imageView2/2/w/653/format/webp)
首先进入到3307的bin目录下,然后输入 mysql -install mysql3307(或者是mysqld -install mysql3307)(这是自定义服务的名字) ,我们可以启动3307服务,然后用数据库工具连接
![](http://upload-images.jianshu.io/upload_images/14298675-928ac886358d02d5.png?imageMogr2/auto-orient/strip|imageView2/2/w/967/format/webp)
四、最后一步 数据库里面配置
1.
![](http://upload-images.jianshu.io/upload_images/14298675-395c50fae0165f47.png?imageMogr2/auto-orient/strip|imageView2/2/w/1029/format/webp)
打开数据库工具连接上主数据库相当于我连接的 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;
![](http://upload-images.jianshu.io/upload_images/14298675-7dd07e6e0084a93c.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
上面的master_user=数据库账号 master_password=数据库密码 master_log_file=上一步骤查询出来的file master_log_pos=上步骤查询出来的position
3.最后执行 start slave 开启主从复制(3308从数据库也是按照3307得到步骤一样配置)
![](http://upload-images.jianshu.io/upload_images/14298675-ddd618b08b6a3cf7.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
作者:我我我不是明
链接:https://www.jianshu.com/p/0eaacc73fa70
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
![](https://img2018.cnblogs.com/i-beta/1251386/202002/1251386-20200229085302878-475293313.png)