mysql-router是一个轻量级的中间间,可以做mysql的故障自动转移以及读写分离功能
1.官网下载mysql-router二进制包
2.主机介绍:
3.创建目录
>>mkdir -p /var/log/mysqlrouter :日志目录
>>mkdir -p /etc/mysqlrouter/mysqlrouter.conf :这个是配置文件
[root@node04 mysqlrouter]# cat mysqlrouter.conf
[default]
logging_folder=/var/log/mysqlrouter
[logger]
leverl=info
[routing:failover]
bind_address=0.0.0.0
bind_port=7001
max_connections=1024
mode=read-write
destinations=192.168.11.4:3307,192.168.11.5:3307
[routing:balancing]
bind_address=0.0.0.0
bind_port=7002
max_connections=1024
mode=read-only
destinations=192.168.11.5:3307,192.168.11.6:3307
4.启动
mysqlrouter --config=/xxxx/mysqlrouter.conf
可以用启动脚本进行启动
说明:7001端口是故障自动切换端口以及可读写
7002端口是负载均衡端口,可以实现负载均衡效果,但是只能读,不能写
5.效果如下:
[root@node04 bin]# ./mysql -umysqlrouter -p123 -h192.168.11.7 -P7002 -e 'select @@server_id'
mysql: [Warning] Using a password on the command line interface can be insecure.
+-------------+
| @@server_id |
+-------------+
| 67 |
+-------------+
[root@node04 bin]# ./mysql -umysqlrouter -p123 -h192.168.11.7 -P7002 -e 'select @@server_id'
mysql: [Warning] Using a password on the command line interface can be insecure.
+-------------+
| @@server_id |
+-------------+
| 57 |
+-------------+
[root@node04 bin]# ./mysql -umysqlrouter -p123 -h192.168.11.7 -P7002 -e 'select @@server_id'
mysql: [Warning] Using a password on the command line interface can be insecure.
+-------------+
| @@server_id |
+-------------+
| 67 |
+-------------+
[root@node04 bin]# ./mysql -umysqlrouter -p123 -h192.168.11.7 -P7002 -e 'select @@server_id'
mysql: [Warning] Using a password on the command line interface can be insecure.
+-------------+
| @@server_id |
+-------------+
| 57 |
+-------------+
参考:https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-preface.html