资讯专栏INFORMATION COLUMN

Mysql读写分离与主从数据库设置方案

mayaohua / 3124人阅读

摘要:何谓读写分离无非四个功能增删改读而将增删改和读分离操作这样有利于提高系统性能试着想想进搬退改货又卖货改成了前门只卖货其它去后门这样是不是就很清晰了往往看起来高大上的东西做起来也是挺简单的下面是写给小白的都是非常直观的操作配置两台服务器同配置

何谓读写分离?
Mysql无非四个功能:增,删,改,读.而将增删改分离操作.这样有利于提高系统性能.
试着想想,进搬退改货又卖货改成了前门只卖货,其它去后门.这样是不是就很清晰了?
往往看起来高大上的东西,做起来也是挺简单的.
下面是写给小白的,都是非常直观的操作.

1.配置:
两台服务器同配置的mysql如mysql5.7
PS:如果条件有限,一台也可以,只需要安装两个mysql服务(不同端口如3306,3307),只是这就有点违背效率初衷了
2.代码:
1.一般直接在代码层将mysql操作类的读写如update,insertselect * from进行路由分离.使之对应不同的服务器.
2.中间件代理,即不改动代码的前提下,由中间件将读写请求发送至主从服务器.

现在讲讲主从如何配置:
1.开放端口:大部分主机都默认Mysql端口3306,那么先将两台机子的安全组防火墙里把3306端口打开并重启.
2.端口打开了,现在配置两个服务器(一台主机两个Mysql服务器的同理):
下文以主ip:192.168.0.1,从ip:192.168.0.2,创建同步账号spec,密码spec_password为例:

主服务器(增删改):

#1.Mysql配置改以下并重启服务(命令行里直接重启:service mysql restart)
[mysqld]
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index

#2.命令行mysql执行或phpmyadmin里执行:
GRANT REPLICATION SLAVE ON *.* TO "spec"@"192.168.0.2" IDENTIFIED BY "spec_password";
flush privileges;

这样,主服务器就完工了.

从服务器配置:

#1.Mysql配置改以下并重启服务(命令行里直接重启:service mysql restart)
[mysqld]
server-id=2
relay-log-index=slave-bin.index
relay-log=slave-bin

#2.命令行mysql执行或phpmyadmin里执行:
change master to master_host="192.168.0.1",master_port=3306,master_user="spec",master_password="spec_password",master_log_file="master-bin.000001",master_log_pos=0;
start slave

一般来说,配置到此就完成了.

3.测试:
从服务器中查询语句:show slave status
如果Slave_IO_State=Waiting for master to send event就成功了.
其余状态通常都是以下原因:
1.主从的安全组或防火墙未打开3306端口
2.主从之间ping不通.
3.上面的spec账密错误

现在起,在主服务器随便增删改,都会同步到从服务器了.

4.建议:
1.切记从服务器只操作读,不操作增删改.保持数据的同步性,这样当一台服务器故障的时候,另一台就可以顶上去(其实主服务器宕机的时候肯定会丢失一部分最新数据).
2.从服务器的带宽一定>=主服务器,尽量减少同步延迟.要是小水管,同步自然慢一步嘛.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29480.html

相关文章

  • UCloud MySQL据库读写分离

    摘要:读写分离中间件具有独立的。变量语句将被广播考虑到节点间数据一致性问题,只会分发到主节点。节点健康检查,提升数据库系统可用性。UCloud MySQL云数据库读写分离 背景 数据显示,关系型数据库在OLTP业务下96.87%都在等待读I/O,而处理器计算仅仅占了5.3%,这说明要提高数据库的QPS性能,关键的一点是提高系统的IO能力。 另一个数据表明, 大多数业务对数据库的访...

    joywek 评论0 收藏0
  • MySQL主从复制读写分离及奇怪的问题

    摘要:当时是使用阿里云镜像,安装了两台,结果配置的时候出现了重复问题。以上操作过程,主从服务器配置完成。监控据说可以编写一脚本,用监控的两个及进程,如发现只有一个或零个,就表明主从有问题了。 联系邮箱:hi@jackcool.net 一直都没有写blog的习惯,以前总觉得自己的脑子就是最好的记忆容器,现在觉得我好像有个假脑子。 当时是使用阿里云镜像,安装了两台ECS,结果配置MySQL的时候...

    galois 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<