MySQL Router 8.4|透明读写分离

mysql router8.2之后,读写分离可以根据sql指令进行自动读写分离,不再是使用不同端口进行读写分离

实验环境

主机名/IP角色
server01/192.168.1.201
server02/192.168.1.202
server03/192.168.1.203
server04/192.168.1.204mysqlrouter

InnoDB Cluster 8.4部署步骤请查阅文档:https://www.wakamizu.cn/innodb-cluster-8-4%e9%9b%86%e7%be%a4%e9%83%a8%e7%bd%b2/

server04

添加映射

vim /etc/hosts
192.168.1.201 server01
192.168.1.202 server02
192.168.1.203 server03
192.168.1.204 server04

安装mysql存储库

wget wget https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
dpkg -i mysql-apt-config_0.8.32-1_all.deb 
apt update -y

安装mysqlrouter

apt-get install mysql-router-community

server01上面使用mysqlshell创建router账户

mysqlsh mysql://clusteradmin@192.168.1.201:3306
\js
var cluster=dba.getCluster()
cluster.setupRouterAccount('routeruser')

引导路由

mysqlrouter --bootstrap clusteradmin@192.168.1.201:3306 --account=routeruser

Tips:如果前面没有创建路由账户,也可以在引导的时候使用

mysqlrouter --bootstrap clusteradmin@192.168.1.201:3306 --account=routeruser --account-create=always

成功引导后配置文件将会在/etc/mysqlrouter/mysqlrouter.conf,只需要保留

[routing:bootstrap_rw_split]
bind_address=0.0.0.0
bind_port=6450
destinations=metadata-cache://testCluster/?role=PRIMARY_AND_SECONDARY
routing_strategy=round-robin
protocol=classic
connection_sharing=1
client_ssl_mode=PREFERRED
server_ssl_mode=PREFERRED
access_mode=auto

其他的诸如[routing:bootstrap_rw]、[routing:bootstrap_ro]、[routing:bootstrap_x_rw]、[routing:bootstrap_x_ro]都可以注释掉,这些都是使用不同端口进行读写分离的配置块

注意:当access_mode=auto时,不支持任何非只读或读写的语句,这包括ALTER RESOURCE GROUP 语句、复制语句和其他管理语句。

重启服务

systemctl restart mysqlrouter

连接测试

mysql -u testusuer -p -h 192.168.1.204 -P 6450

将本次会话设置成读写模式,会发现返回的@@hostname是主节点的server01

ROUTER SET access_mode='read_write';
select @@hostname;

将本次会话设置成仅读模式,会发现返回的@@hostname是主节点的server02或者server03

ROUTER SET access_mode='read_only';
select @@hostname;
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!