1. 程式人生 > >配置數據庫讀寫分離服務器

配置數據庫讀寫分離服務器

數據庫

配置一主一從 主從同步結構,並在客戶端測試配置
master51> grant all on webdb.* to webuser@"%" identified by " 123456";

裝包
rpm -ivh maxscale-2.1.2-1.rhel.7.x86_64.rpm

[root@host56 ~]# rpm -qa | grep maxscale
maxscale-2.1.2-1.x86_64

[root@host56 ~]# rpm -qc maxscale
/etc/maxscale.cnf.template

[root@host56 ~]#

修改配置文件
[root@host56 ~]# ls /etc/maxscale.cnf
/etc/maxscale.cnf

[root@host56 ~]# cp /etc/maxscale.cnf /etc/maxscale.cnf.bak

[root@host56 ~]# vim /etc/maxscale.cnf
[maxscale]
threads=1  也可是是auto
[server1]
type=server
address=192.168.4.51
port=3306
protocol=MySQLBackend

[server2]
type=server
address=192.168.4.52
port=3306

protocol=MySQLBackend

[MySQL Monitor]
type=monitor
module=mysqlmon
servers=server1, server2
user=scalemon
passwd=123456
monitor_interval=10000

[Read-Write Service]
type=service
router=readwritesplit
servers=server1, server2
user=maxscale
passwd=123456
max_slave_connections=100%

[MaxAdmin Service]
type=service
router=cli

[Read-Write Listener]
type=listener
service=Read-Write Service
protocol=MySQLClient
port=4006

[MaxAdmin Listener]
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
port=4018

根據配置文件做相應的設置(在2臺數據庫服務器上添加用戶)
監控數據庫服務器時,連接數據庫服務器的用戶
mysql> grant replication slave, replication client on 星.星 to scalemon@‘%‘ identified by "123456";

驗證 訪問數據時,連接數據庫服務器使用的用戶,是否在數據庫服務器上存在的,連接用戶
mysql> grant select on mysql.* to maxscale@‘%‘ identified by "123456";

查看授權用戶
mysql> select user,host from mysql.user where user in ("scalemon","maxscale");
+----------+------+
| user | host |
+----------+------+
| maxscale | % |
| scalemon | % |
+----------+------+

啟動服務
[root@host56 ~]# maxscale -f /etc/maxscale.cnf

查看服務進程和端口

查看端口
[root@host56 ~]# netstat -utnlp | grep :4006
[root@host56 ~]# netstat -utnlp | grep :4018
[root@host56 ~]# ps -C maxscale

停止服務
[root@host56 ~]# ps -C maxscale
PID TTY TIME CMD
29688 ? 00:00:00 maxscale
[root@host56 ~]# kill -9 29688
[root@host56 ~]#
[root@host56 ~]#
[root@host56 ~]# kill -9 29688
-bash: kill: (29688) - 進程不存在

2.2.3 測試配置
A 在本機訪問管理管端口查看監控狀態

[root@host56 ~]# maxadmin -P4018 -uadmin -pmariadb
MaxScale> list servers
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server | Address | Port | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
server1 | 192.168.4.51 | 3306 | 0 | Master, Running
server2 | 192.168.4.52 | 3306 | 0 | Slave, Running
-------------------+-----------------+-------+-------------+--------------------
MaxScale> exit
[root@host56 ~]#

b 客戶端訪問數據讀寫分離服務器
]#which mysql
]# mysql -h192.168.4.56 -P4006 -uwebuser -p123456
mysql> select @@hostname;
mysql> 執行插入或查詢 ( 在51 和 52 本機查看記錄)

配置數據庫讀寫分離服務器