实现mysql读写分离的mysqlnd的mysqlnd_ms插件使用教程
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-17 15:38:19 浏览: 评论:0
mysqlnd_ms插件主要实现了mysql的连接保持和切换,负载均衡和读写分离等,也就是说, 这个扩展会去分别PHP发给MySQL的query,如果是”读”的query,就会把query发送给从库(配置中指明),并且支持负载均衡; 而如果是”写”的query,就会把query发送给主库.
mysqlnd_ms是mysqlnd的一个插件,该插件实现了连接保存和切换、负载均衡、读写分离的功能,要想使用mysqlnd_ms的读写分离功能必须在安装php时使用–with-mysqlnd,mysqlnd实现的功能是可以不需要在php服务器上安装mysql,在php5.3之前编译安装php需要通过–with-mysql=/path/to/mysql指定mysql安装路径.
1、安装mysqlnd_ms模块
- tar -zxvf mysqlnd_ms-1.5.2.tgz
- cd mysqlnd_ms-1.5.2
- /usr/local/php/bin/phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config
- make && make install
出现以下类似提示,记录下面的路径需要拥有配置php.ini.
- Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
- Installing header files: /usr/local/php/include/php/
2、编辑 /usr/local/php/etc/php.ini
- extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mysqlnd_ms.so
- mysqlnd_ms.enable = On
- mysqlnd_ms.config_file = /usr/local/php/etc/mysqlnd_ms_plugin.ini
3、创建mysqlnd_ms_plugin.ini配置文件
- {
- "myapp": {
- "master": {
- "master_0": {
- "host": "192.168.6.135",
- "socket": "\/tmp\/mysql.sock"
- } --phpfensi.com
- "slave": {
- "slave_0": {
- "host": "192.168.6.136",
- "port": "3306"
- "slave_1": {
- "host": "192.168.6.137",
- "port": "3306"
- "filters": {
- "random": {
- "sticky": "1"
- }
- }
- }
- }
这里使用到了1主2从的mysql服务器,filters是定义访问从服务器的策略,random是随机选择一台服务器,strick参数设置成1是指将一次请求都指向一台服务器.
4、测试
使用wordpress进行测试,编辑配置文件wp-config.php.
- /** MySQL主机 */
- define('DB_HOST', 'myapp'); #这的myapp是在mysqlnd_ms_plugin.ini中定义的.
Tags: mysql读写分离 mysqlnd_ms
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)