百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 应用MySQL主从配置实现读写别离减轻数据库压力
分享文章到:

应用MySQL主从配置实现读写别离减轻数据库压力

发布时间:05/13 来源:未知 浏览: 关键词:

大型网站为了软解大量的并发访问,除了在网站实现散布式负载平衡,远远不足。到了数据业务层、数据访问层,要是还是传统的数据构造,或者只是单单靠一台服务器扛,如此多的数据库连贯操纵,数据库必然会解体,数据遗失的话,后果更是 不堪设想。这时候,我们会考虑怎样减少数据库的联接,一方面采纳优良的代码框架,进行代码的优化,采纳优良的数据缓存技术如:memcached,要是资金丰盛的话,必然会想到假如服务器群,来分担主数据库的压力。Ok切入今天文章主题,应用MySQL主从配置,实现读写别离,减轻数据库压力。这种方式,在如今许多网站里都有运用,也不是什么新颖事情,今天总结一下,利便大家学习参考一下。

概述:搭设一台Master服务器(win8.1系统,Ip:192.168.0.104),搭设两台Slave服务器(虚拟机——一台Ubuntu,一台 Windows Server 2003)

道理:主服务器(Master)负责网站NonQuery操纵,从服务器负责Query操纵,会员可以依据网站功能模特性块牢固访问Slave服务器,或者本人写个池或队列,自在为请求分配从服务器连贯。主从服务器应用MySQL的二进制日志文件,实现数据同步。二进制日志由主服务器发生,从服务器相应获取同步数据库。

具体实现:

1、在主从服务器上都装上MySQL数据库,windows系统鄙人安装的是mysql_5.5.25.msi版本,Ubuntu安装的是mysql-5.6.22-linux-glibc2.5-i686.tar

windows安装mysql就不谈了,个别地球人都应当会。鄙人略微说一下Ubuntu的MySQL安装,我倡议不要在线下载安装,还是离线安装的好。大家可以参考 https://www.jb51.net/article/157282.htm 这位不晓得大哥还是姐妹,写的挺好按照这个就能装上。在安装的时候可能会涌现几种现象,大家可以参考解决一下:

(1)要是您不是运用root会员登录,倡议 su - root 切换到Root会员安装,那就不用老是 sudo 了。

(2)寄存解压的mysql 文件夹,文件夹名字最佳改成mysql

(3)在./support-files/mysql.server start 启动MySQL的时候,可能会涌现一个告诫,中辞意思是启动服务运转读文件时,忽略了my.cnf文件,那是由于my.cnf的文件权限有题目,mysql会以为该文件有惊险不会施行。但是mysql还会启动成功,但要是下面配置从服务器参数修改my.cnf文件的时候,你会发明文件改正了,但是重启服务时,修改正后的配置没有施行,而且您 list一下mysql的文件夹下会发明许多.my.cnf.swp等中间文件。这都是由于MySQL启动时没有读取my.cnf的缘由。这时只有将my.cnf的文件权限改成my_new.cnf的权限同样就Ok,下令:chmod 644 my.cnf就Ok

(4)Ubuntu中修改文档内容没有Vim,最佳把Vim 装上,apt-get install vim,不然预计会抓狂。

这时候我信赖MySQL应当安装上去了。

2、配置Master主服务器

(1)在Master MySQL上创建一个会员‘repl',并允许其他Slave服务器可以通过长途访问Master,通过该会员读取二进制日志,实现数据同步。

(2)找到MySQL安装文件夹修改my.Ini文件。mysql中有好几种日志方式,这不是今天的重点。我们只有启动二进制日志log-bin就ok。

 在[mysqld]下面添加下面几行代码

(3)查看日志

mysql> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 1285 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

重启MySQL服务

3、配置Slave从服务器(windows)

(1)找到MySQL安装文件夹修改my.ini文件,在[mysqld]下面添加下面几行代码

重启MySQL服务

(2)连贯Master

change master to master_host='192.168.0.104', //Master 服务器Ip
master_port=3306,
master_user='repl',
master_password='mysql', 
master_log_file='master-bin.000001',//Master服务器发生的日志
master_log_pos=0;

(3)启动Slave

start slave;

4、Slave从服务器(Ubuntu)

(1)找到MySQL安装文件夹修改my.cnf文件,vim my.cnf

(2) ./support-files/myql.server restart 重启MySQL服务  ,  ./bin/mysql 进入MySQL下令窗口

(3)连贯Master

change master to master_host='192.168.0.104', //Master 服务器Ip
master_port=3306,
master_user='repl',
master_password='mysql', 
master_log_file='master-bin.000001',//Master服务器发生的日志
master_log_pos=0;

(4)启动Slave

start slave;

OK所有配置都完成了,这时候大家可以在Master Mysql 中进行测试了,由于我们监视的时Master mysql  所有操纵日志,所以,你的任何转变主服务器数据库的操纵,都会同步到从服务器上。创建个数据库,表试试吧。。

总结

以上就是这篇文章的全部内容了,但愿本文的内容对大家的学习或者工作拥有一定的参考学习价值,感谢大家对脚本之家的支撑。要是你想理解更多相干内容请查看下面相干链接

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有170人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板