mysql 如何实现读写分离,用mysql-proxy 或者直接用php连接两个数据库?

mysql 如何实现读写分离,用mysql-proxy 或者直接用php连接两个数据库?,第1张

Mysql主从配置,实现读写分离

原理:主服务器(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安装,我建议不要在线下载安装,还是离线安装的好。大家可以参考 http://www.linuxidc.com/Linux/2013-01/78716.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,通过该用户读取二进制日志,实现数据同步。

Apache:是一种web服务器(与IIS类同)

PHP:全称为Hypertext Preprocessor。

PHP是一种HTML 内嵌式的语言,是一种网站(网页)开发语言(与ASP、JSP、.NET等类同)

MySQL:是一种数据库(与SQLServer等类同)

要访问网页就需要Web服务器,MySQL用来存放用户与网页之间交互信息的数据。

三者结合起来简称AMP,现在流行的一种是LAMP:Linux *** 作系统下通过Apache和MySQL支持PHP语言的一种网络运行环境。

优点:

PHP:相对于其他语言(JSP等)简单易学;跨平台;PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合;面向对象编程:PHP提供了类和对象。

PHP最经典的组合就是:PHP + MySQL + Apache。非常适合开发中小型的web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8395456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存