安装 maxscale
wget https://downloads.mariadb.com/MaxScale/2.2.15/centos/6server/x86_64/maxscale-2.2.15-1.centos.6.x86_64.rpm rpm -ivh maxscale-2.2.15-1.centos.6.x86_64.rpm
创建maxscale用户,主库执行
注:此用户用来监控和实现maxscale内部调用get user等操作
create user maxscale@‘%‘ identified by "WWW.tsb.c0m"; GRANT SELECT ON mysql.user TO maxscale@‘%‘; GRANT SELECT ON mysql.db TO maxscale@‘%‘; GRANT SELECT ON mysql.tables_priv TO maxscale@‘%‘; GRANT SHOW DATABASES ON *.* TO maxscale@‘%‘; GRANT ALL ON maxscale_schema.* TO maxscale@‘%‘; GRANT replication slave, replication client ON *.* TO maxscale@‘%‘;
创建maxscale服务相关目录
mkdir -pv /data/logs/maxscale mkdir -pv /data/appData/maxscale mkdir -pv /data/tmp/maxscale/cache # 授权 chown -R maxscale.maxscale /data/logs/maxscale chown -R maxscale.maxscale /data/appData/maxscale chown -R maxscale.maxscale /data/tmp/maxscale
修改maxscale配置文件/etc/maxscale.cnf
vim /etc/maxscale.cnf [maxscale] # 开启线程个数,默认为1.设置为auto会同cpu核数相同 threads=auto # 启用日志文件中的高精度时间戳。启用此选项可为所有日志文件时间戳添加毫秒精度。 ms_timestamp=1 # 将消息记录到syslog 1启 0禁 syslog=1 # 将消息记录到MariaDB MaxScale的日志文件 1启 0禁 maxlog=1 # 不将maxscale.log文件写入共享内存 1启 0禁 log_to_shm=0 # 记录告警日志 log_warning=1 # 记录notice日志 log_notice=1 # 记录INFO日志 log_info=1 # 不记录debug日志 log_debug=0 # 禁用消息的扩充。如果启用此选项,则每条记录的消息都会附加记录消息的函数的名称。这主要用于开发目的,因此默认情况下禁用。 log_augmentation=0 # 日志目录 logdir=/data/logs/maxscale/ # 数据目录 datadir=/data/appData/maxscale/ # 缓存目录 cachedir=/data/tmp/maxscale/cache/ # 定义后端数据库服务器 [server1] type=server address=10.0.1.100 port=3306 protocol=MySQLBackend [server2] type=server address=10.0.1.101 port=3306 protocol=MySQLBackend # 监控 [MySQL-Monitor] type=monitor module=mysqlmon servers=server1,server2 user=maxscale passwd=mysqlPassword # 监控心跳为 10s monitor_interval=10000 # 当slave全部断掉时,maxscale仍然可用,将所有的访问指向master节点 detect_stale_master=true # 读写分离 [Read-Write-Service] type=service router=readwritesplit servers=server1,server2 user=maxscale passwd=mysqlPassword # 从库最大连接 max_slave_connections=100% # 允许主从最大间隔(s) max_slave_replication_lag = 5 # sql语句中的存在变量可以在所有库中执行 use_sql_variables_in = all [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
启动maxscale服务
/etc/init.d/maxscale start
chkconfig maxscale on
原文:https://www.cnblogs.com/Liudarren/p/12408525.html
如果您也喜欢它,动动您的小指点个赞吧