博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql读写分离与主从数据库设置方案
阅读量:6532 次
发布时间:2019-06-24

本文共 1438 字,大约阅读时间需要 4 分钟。

何谓读写分离?

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=1log-bin=master-binlog-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=2relay-log-index=slave-bin.indexrelay-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.从服务器的带宽一定>=主服务器,尽量减少同步延迟.要是小水管,同步自然慢一步嘛.

转载地址:http://hrqbo.baihongyu.com/

你可能感兴趣的文章
通过MCollective更加安全地实现puppet的推送更新功能
查看>>
拯救网管老克
查看>>
DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02)
查看>>
云视频会议已成未来发展必然趋势
查看>>
必应搜索全球PK,只为证明自己
查看>>
2011年7月21日星期四
查看>>
通过 C# 代码操作 Google 日历
查看>>
在html中如何去掉热点点击后的边框
查看>>
ajax跨域原理
查看>>
python django 数据库查询方法总结
查看>>
二十三、oracle pl/sql分类三 包
查看>>
BufferedReader的mask和reset  
查看>>
最优比例生成树(0/1分数规划)
查看>>
程序即人生 » 移动平台现在可用的C++ 11特性
查看>>
【C++】不同含义new和delete
查看>>
VS2010环境与OpenMP远程多线程访问MySQL数据库的限制和困惑
查看>>
ZendFramework学习第二章(为变量赋值)
查看>>
ASP.NET无刷新多文件文件上传系统(转载)
查看>>
Android 操作系统的内存回收机制(转载)
查看>>
字符串编码(charset,encoding/decoding)问题原理
查看>>