mysql的主从复制读写分离详解

Posted autofelix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的主从复制读写分离详解相关的知识,希望对你有一定的参考价值。

〝 古人学问遗无力,少壮功夫老始成 〞

当公司业务发展到一定阶段,为了保证服务的正常运转,我们需要对mysql数据库进行架构设计,最常用的就是进行读写分离,提高mysql的读写能力,应对并发压力。如果大家觉得文章有帮助,请给博主一波关注和评论。

目录

一、授权远程访问mysql数据库

二、配置mysql主服务器

三、 重启服务

四、 检查配置

五、配置mysql从服务器

六、检测主从复制配置


一、授权远程访问mysql数据库

  • 新建相关数据库管理员,授权并开启远程访问权限

-- 建议新建一个备份和主从复制的数据库管理员
CREATE USER 'backup'@'localhost' IDENTIFIED BY '密码';
-- 分配相关权限
grant select,reload,lock tables,replication client,show view,event,process on *.* to 'backup'@'localhost';
-- 开启远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 授权用户名@被授权服务器的IP IDENTIFIED BY '授权密码';
FLUSH PRIVILEGES;

二、配置mysql主服务器

  • 需要在master服务器和slave服务器都建立一个同名的数据(备份数据库)

  • 在主服务器中开启binlog日志和设置要发生主从同步数据库,使用vim打开/etc/my.cnf文件,修改配置如下

#mysql的bin-log日志配置选项,假设做读写(主从),这个选项在从服务器必须关闭
log_bin = binlog
#端口信息,其实可以不写
port = 3306
#主服务器的id,这id不一定设为1,只要主从不一样就行
server-id = 1
#要做同步的数据库名字,可以是多个数据库,之间用分号分割。
binlog_do_db = test

三、 重启服务

service mysqld restart;

四、 检查配置

  • 登录mysql查看binlog日志相关参数是否正确

show master status;
show variables like 'log_bin';

五、配置mysql从服务器

  •  主服务器已经配置成功,这时要切换到从服务器开始配置
  • 在从服务器中开启binlog日志和设置要发生主从同步数据库,使用vim打开/etc/my.cnf文件,修改配置如下

#从服务器的id,必须与主服务器的id是不同
server-id = 2
#主服务器的ip地址
master-host = 192.168.56.2
#grant授权的可复制用户账号
master-user = backup
#grant授权的可复制密码
master-password = 123456
#主服务器的mysql端口
master-port = 3306
#这个参数是用来设置在和主服务器连接丢失的时候,重试的时间间隔,默认是60秒
master-connect-retry = 20
#需要同步的主服务器数据库
replicate-do-db = test

六、检测主从复制配置

show slave status\\G

-- 如果结果包含如下参数,则证明主从已经配置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

以上是关于mysql的主从复制读写分离详解的主要内容,如果未能解决你的问题,请参考以下文章

详解MySQL读写分离

mysql主从复制与读写分离!

MySQL主从复制与读写分离

Centos7中MySQL5.7服务群集(实现主从复制读写分离功能)

MySQL 主从复制与读写分离 部署

MySQL主从复制与读写分离