mysql nfs读写分离_MySQL 读写分离测试

一、实验服务器

1、192.168.1.112 Nginx WEB前端

2、192.168.1.120 PHP-fpm+NFS文件共享

3、192.168.1.121 PHP-fpm

4、192.168.1.117 主数据库

5、192.168.1.118 从数据库

二、部署方法

1、下载MYSQL-Proxy软件,

root@localhost ~]# wget -c http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-Proxy/mysql-proxy-0.8.4-linux-el6-x86-64bit.tar.gz

2、创建软件服务用户

[root@localhost ~]# useradd -s /sbin/nologin mysql-proxy #创建mysql-proxy服务用户

3、解压至/usr/local/mysql-proxy

[root@localhost ~]# tar zxvf mysql-proxy-0.8.4-linux-el6-x86-64bit.tar.gz -C /usr/local

4、重命名为mysql-proxy

[root@localhost ~]# mv /usr/local/mysql-proxy-0.8.4-linux-el6-x86-64bit /usr/local/mysql-proxy

5.启动MySQL-Proxy中间件

/usr/local/mysql-proxy/bin/mysql-proxy

--daemon

--log-level=debug

--user=mysql-proxy

--keepalive

--log-file=/var/log/mysql-proxy.log --plugins="proxy"

--proxy-backend-addresses="192.168.1.117:3306"

--proxy-read-only-backend-addresses="192.168.1.118:3306"

--proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua"

--plugins=admin

--admin-username="admin"

--admin-password="admin"

--admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"

6.确认MySQL-Proxy是否启动

[root@localhost mysql-proxy]# ps -ef |grep mysql

root 7402 1 0 18:36 ? 00:00:00 /usr/local/mysql-proxy/libexec/mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins=proxy --proxy-backend-addresses=192.168.1.117:3306 --proxy-read-only-backend-addresses=192.168.1.118:3306 --proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua --plugins=admin --admin-username=admin --admin-password=admin --admin-lua-script=/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua

mysql-p+ 7403 7402 0 18:36 ? 00:00:00 /usr/local/mysql-proxy/libexec/mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins=proxy --proxy-backend-addresses=192.168.1.117:3306 --proxy-read-only-backend-addresses=192.168.1.118:3306 --proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua --plugins=admin --admin-username=admin --admin-password=admin --admin-lua-script=/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua

root 7445 7141 0 18:40 pts/0 00:00:00 grep --color=auto mysql

7.查看MySQL-Proxy服务端口

[root@localhost mysql-proxy]# netstat -tnl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:4040 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:4041 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

tcp6 0 0 :::111 :::* LISTEN

tcp6 0 0 :::22 :::* LISTEN

tcp6 0 0 ::1:25 :::* LISTEN

8.在192.168.1.118 登录查看MySQL-Proxy读写分离状态

[root@localhost ~]# mysql -h192.168.1.112 -uadmin -padmin -P 4041

mysql> select * from backends; #查看MySQL-Proxy读写分离状态

+-------------+--------------------+---------+------+------+-------------------+

| backend_ndx | address | state | type | uuid | connected_clients |

+-------------+--------------------+---------+------+------+-------------------+

| 1 | 192.168.1.117:3306 | unknown | rw | NULL | 0 |

| 2 | 192.168.1.118:3306 | unknown | ro | NULL | 0 |

+-------------+--------------------+---------+------+------+-------------------+

9.修改网址数据库配置文件

#修改服务器本地网站配置文件

[root@localhost config]# pwd

/mnt/dz.jf.com/config

[root@localhost config]# vim config_global.php

$_config = array();

// ---------------------------- CONFIG DB ----------------------------- //

$_config['db']['1']['dbhost'] = '192.168.1.16:4040'; #修改为MySQL-Proxy通讯地址

$_config['db']['1']['dbuser'] = 'discuz';

$_config['db']['1']['dbpw'] = 'gdl';

$_config['db']['1']['dbcharset'] = 'utf8';

$_config['db']['1']['pconnect'] = '0';

$_config['db']['1']['dbname'] = 'discuz';

$_config['db']['1']['tablepre'] = 'pre_';

$_config['db']['slave'] = '';

$_config['db']['common']['slave_except_table'] = '';

#修改php路径网站配置文件

[root@localhost config]# pwd

/data/html/dz.jf.com/config

[root@localhost config]# vim config_global.php

$_config = array();

// ---------------------------- CONFIG DB ----------------------------- //

$_config['db']['1']['dbhost'] = '192.168.1.16:4040'; #修改为MySQL-Proxy通讯地址

$_config['db']['1']['dbuser'] = 'discuz';

$_config['db']['1']['dbpw'] = 'gdl';

$_config['db']['1']['dbcharset'] = 'utf8';

$_config['db']['1']['pconnect'] = '0';

$_config['db']['1']['dbname'] = 'discuz';

$_config['db']['1']['tablepre'] = 'pre_';

$_config['db']['slave'] = '';

$_config['db']['common']['slave_except_table'] = '';

10.在次查看读写分离状态

[root@localhost ~]# mysql -h192.168.1.112 -uadmin -padmin -P 4041

mysql> select * from backends;

+-------------+--------------------+-------+------+------+-------------------+

| backend_ndx | address | state | type | uuid | connected_clients |

+-------------+--------------------+-------+------+------+-------------------+

| 1 | 192.168.1.117:3306 | up | rw | NULL | 0 |

| 2 | 192.168.1.118:3306 | down | ro | NULL | 0 |

+-------------+--------------------+-------+------+------+-------------------+

11.关闭防火墙,在次查看读写分离状态

因192.168.1.118 从数据库防火墙未关所以读写分离无法成功

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# mysql -h192.168.1.112 -uadmin -padmin -P 4041

mysql> select * from backends;

+-------------+--------------------+-------+------+------+-------------------+

| backend_ndx | address | state | type | uuid | connected_clients |

+-------------+--------------------+-------+------+------+-------------------+

| 1 | 192.168.1.117:3306 | up | rw | NULL | 0 |

| 2 | 192.168.1.118:3306 | up | ro | NULL | 0 |

+-------------+--------------------+-------+------+------+-------------------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值