liunx+mysql读写分离 mysql主从复制

来源:互联网 发布:知乎中国人到底有多穷 编辑:程序博客网 时间:2024/05/17 07:06

开发环境

阿里云服务器
主库,mysql5.6.33版本,数据库为laravel
腾讯云服务器
从库,mysql5.6.33版本,数据库为laravel
这里保持了一直为了避免出现很多问题,另外按照论坛很多帖子采用了5.6版本,如未安装,可查看我mysql5.6安装centos的帖子,谢谢。
开始之前,你需要设置好主库的远程连接mysql账号与密码。
主从数据库正常安装使用连接

这里说的是bin-log方式实现主从复制

主库配置

 1.编辑你的mysql配置文件,默认是`/etc/my.cnf`,然后添加以下内容

这里写图片描述

log-bin=mysql-bin #使用bin-logserver-id=1 #设置id标志 无所谓随意设置binlog-ignore-db=information_schema #主从复制的时候忽略的库,有几个写几个,很重要binlog-ignore-db=performance_schema #主从复制的时候忽略的库,有几个写几个,很重要binlog-ignore-db=test #主从复制的时候忽略的库,有几个写几个,很重要binlog-ignore-db=mysql #主从复制的时候忽略的库,有几个写几个,很重要binlog-do-db=laravel#主从复制的数据的库

2.重启mysql == 这里确保重启无任何错误提示

3.登录mysql

4.查看主库状态

show master status;

这里写图片描述
保存信息,下面要用到。

从库配置

1.编辑你的mysql配置文件,默认是/etc/my.cnf,然后添加以下内容

log-bin=mysql-bin #使用bin-logserver-id=2 #设置id标志 无所谓随意设置binlog-ignore-db=information_schema #主从复制的时候忽略的库,有几个写几个,很重要binlog-ignore-db=performance_schema #主从复制的时候忽略的库,有几个写几个,很重要binlog-ignore-db=test #主从复制的时候忽略的库,有几个写几个,很重要binlog-ignore-db=mysql #主从复制的时候忽略的库,有几个写几个,很重要replicate-do-db=laravel #指定mysql的binlog日志记录哪个db库replicate-ignore-db=mysql #不复制mysql库的binloglog-slave-updates #从库从主库复制的数据会写入log-bin日志文件里slave-skip-errors=all #跳过所有错误例slave-net-timeout=60 #连接失败时60秒重新创建连接

这里写图片描述

2.重启mysql == 这里确保重启无任何错误提示

3.登录mysql

4.暂停slave,配置连接主库信息,开启slave

stop slavechange master to master_host='主库远程连接ip',master_user='主库远程登录名',master_password='主库远程登录密码',master_log_file='从库的状态里面的File', master_log_pos=主库状态里面的Position;change master to master_host='192.168.1.206',master_user='root',master_password='root',master_log_file='mysql-bin.000001', master_log_pos=120;start slave

5.查看从库配置信息及中从复制状态

show slave status\G;

如下图无错误提示才算ok
这里写图片描述

到这里就OK了,切记不要在从库进行 增删改操作 。
到这里读写分离想必大家都懂了吧。
不懂得欢迎留言问问题.

原创粉丝点击