mysql的主从复制读写分离详解
Posted autofelix
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主从复制读写分离详解的主要内容,如果未能解决你的问题,请参考以下文章