当前位置: 主页 > 数据库 > Mysql >

mysql读写分离的实现方法

时间:2013-06-17 15:24来源:www.linuxyw.com 作者:admin 点击:
mysql读写分离软件实现: 1:amoeba 2:MySQL proxy 3:SQL RELAY 4:其它 软件方法实现,性能和功能上并不完美,在生产中,我也没有使用过,所以不作过多的说明 我在生产中用的mysql读写分离
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……



mysql读写分离软件实现:
1:amoeba
2:MySQL proxy
3:SQL RELAY
4:其它

软件方法实现,性能和功能上并不完美,在生产中,我也没有使用过,所以不作过多的说明

我在生产中用的mysql读写分离方法是在 程序 上实现的
在线上,一般有MYSQL主和MYSQL从服务器

在MYSQL主服务器上,建立写的帐号并给予相关权限(如:SELECT, INSERT, UPDATE, DELETE ),然后在程序上写个相关的类或函数,在写的时候,调用这个类或函数。
在MYSQL从服务器上,建立读的帐号并给予相关权限(如:SELECT),然后在程序上写个相关的类或函数,在读的时候,调用这个类或函数。





以下内容来自老男孩linux实战培训

生产环境如何确保从库只读?

1)mysql从服务器中加入read-only参数或者在从服务器启动时加该参数。
read-only
2)忽略mysql库及information_schema库同步。
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
3)授权从库用户仅授权select权限。
4)授权案例:
a.生产环境主库用户的授权:
GRANT SELECT, INSERT, UPDATE, DELETE ON `blog`.* TO 'blog'@'10.0.0.%' identified by 'oldboy456';
b.生产环境从库用户的授权:
GRANT SELECT ON `blog`.* TO 'blog'@'10.0.0.%' identified by 'oldboy456';
说明:这里表示给10.0.0/24的用户blog管理blog数据库的所有表(*表示所有表)只读权限(SELECT),密码为oldboy456。
当然从库除了做SELECT的授权外,还可以加read-only等只读参数。


生产环境读写分离的账户设置建议

给开发人员的读写分离用户设置
主库(尽量提供写服务):blog  oldboy456  ip:10.0.0.179 port 3306
从库(仅提供读服务):  blog  oldboy456  ip:10.0.0.180 port 3306
提示:除了IP没办法修改之外,我们尽量为开发人员提供方便。
 

转载请注明linux系统运维
http://www.linuxyw.com/linux/Mysql/20130617/572.html

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片