是运行mysqlrouter进程的系统用户名 # $ mysqlrouter --bootstrap GreatSQL@172.16.16.10:3306 --user=mysqlrouter Please start mysqlrouter or $ mysqlrouter -c /etc/mysqlrouter/mysqlrouter.conf the cluster 'MGR1' can 启动mysqlrouter服务 这就初始化完毕了,按照上面的提示,直接启动 mysqlrouter 服务即可: [root@greatsql]# systemctl start mysqlrouter :* LISTEN 6026/mysqlrouter 可以看到 mysqlrouter 服务正常启动了。 mysqlrouter 初始化时自动生成的配置文件是 /etc/mysqlrouter/mysqlrouter.conf,主要是关于R/W、RO不同端口的配置,例如: [routing:greatsqlMGR_rw
/mysqlrouter -V MySQL Router Ver 8.0.30 for Linux on x86_64 (MySQL Community - GPL) router 端口设置为 8030 和设置最大连接数 max_connections = 3 方便复现 shell> egrep 'max|port' mysqlrouter.conf max_connections = 3 bind_port /mysqlrouter tcp 0 0 10.186.65.132:8030 10.186.65.137:56308 ESTABLISHED 15045/. /mysqlrouter tcp 0 0 10.186.65.132:8030 10.186.65.137:56312 ESTABLISHED 15045/. 本文关键字:#MySQLrouter# #MySQL#
$ mkdir -p /data/mysqlrouter/mysqlrouter6446 /app/mysqlrouter/bin/mysqlrouter 2、初始化 MySQL Router / -c /data/mysqlrouter/mysqlrouter6446/mysqlrouter.conf InnoDB Cluster 'mysqlrouter' can be reached by /mysqlrouter6446/mysqlrouter.conf 查看日志 cat mysqlrouter.log [mysql@jiekexu-my-56 log]$ cat mysqlrouter.log /mysqlrouter6446/mysqlrouter.pid ExecStart=/usr/bin/bash -c "/data/mysqlrouter/mysqlrouter6446/start.sh /bin/mysqlrouter -c /data/mysqlrouter/mysqlrouter6446/mysqlrouter.conf mysql 14532 11253 0 18:35
/bin/mysqlrouter --bootstrap superdba@10.185.13.195: --directory /data1/yazhou5/mysql/mysql-router - /bin/mysqlrouter -c /data1/yazhou5/mysql/mysql-router/mysqlrouter.conf the cluster 'yeyz_test' can be -rw------- 1 root root 104 Apr 12 23:15 mysqlrouter.key drwx------ 2 root root 4096 Apr 12 23:15 run -c /data1/yazhou5/mysql/mysql-router/mysqlrouter.conf & 启动之后,我们使用刚才创建的routerfriend账号以及6446这个读写端口来连接 这个routerfriend账号的权限可能不够,我们也可以换成superdba的高权限账号去连接mysqlrouter,这样就可以对MySQL Server中的库表进行读写操作。
[root@netkiller ~]# rpm -ql mysql-router-2.0.3-1.el7 /etc/mysqlrouter /etc/mysqlrouter/mysqlrouter.ini /usr/lib64/mysqlrouter/fabric_cache.so /usr/lib64/mysqlrouter/keepalive.so /usr/lib64/mysqlrouter/logger.so /usr/lib64/mysqlrouter/mysql_protocol.so /usr/lib64/mysqlrouter/routing.so /usr/sbin/mysqlrouter /usr /var/run/mysqlrouter 1.9.2. / plugin_folder = /usr/lib64/mysqlrouter runtime_folder = /var/run/mysqlrouter config_folder = /etc/mysqlrouter
$ /sbin/useradd -g mysqlrouter mysqlrouter -d /dev/null -s /sbin/nologin 初始化 MySQL Router $ mysqlrouter restart or $ systemctl start mysqlrouter or $ mysqlrouter -c /usr/local/mysql-router-8.4.0-linux-glibc2.17 服务即可,检查下是否正常启动 mysqlrouter -c /usr/local/mysql-router-8.4.0-linux-glibc2.17-x86_64/mysqlrouter.conf & $ ps -ef | grep -v grep | grep mysqlrouter root 29153 4815 1 16:10 pts/0 00:00:03 mysqlrouter -c /usr/local/mysql-router-8.4.0-linux-glibc2.17-x86_64/mysqlrouter.conf $ netstat -lntp | grep mysqlrouter
[root@s1 mr]# ls share/doc/mysqlrouter/ License.txt README.txt sample_mysqlrouter.conf sample_mysqlrouter.init echo "PATH=$PATH:/usr/local/mysqlrouter/bin" >/etc/profile.d/mysqlrouter.sh chmod +x /etc/profile.d/mysqlrouter.sh shell> mkdir /etc/mysqlrouter /usr/local/mysqlrouter/log /var/run/mysqlrouter 这样就可以启动MySQL Router来提供服务了 mysql router默认会寻找安装目录下的"mysqlrouter.conf"和家目录下的".mysqlrouter.conf"。 /mysqlrouter/log # 指定日志目录,日志文件名为mysqlrouter.log runtime_folder=/var/run/mysqlrouter # 指定运行时目录
/sample_mysqlrouter.ini /etc/mysql-route/mysqlrouter.conf 2、配置文件设置,日志目录需要自己手动创建 [root@node1 ~]# cat /etc/mysql-route/mysqlrouter.conf [DEFAULT] # 日志存放目录 logging_folder = /data/log/mysql-route # 插件存放目录 plugin_folder = /usr/local/mysql-router/lib/mysqlrouter # 配置文件存放目录 config_folder = /etc/mysql-route -c /etc/mysql-route/mysqlrouter.conf PrivateTmp=true [Install] WantedBy=multi-user.target 5、启动服务 [root@c7-node1 ~]# systemctl enable mysqlrouter [root@c7-node1 ~]# systemctl start mysqlrouter 读写分离测试
/mysqlrouter.conf Existing configuration backed up to '/etc/mysqlrouter/mysqlrouter.conf.bak' # MySQL restart or $ systemctl start mysqlrouter or $ mysqlrouter -c /etc/mysqlrouter/mysqlrouter.conf 00:00:00 /usr/bin/mysqlrouter [root@greatsql]# netstat -lntp | grep mysqlrouter tcp 0 0 :* LISTEN 6026/mysqlrouter 可以看到 mysqlrouter 服务正常启动了。 mysqlrouter 初始化时自动生成的配置文件是 /etc/mysqlrouter/mysqlrouter.conf,主要是关于R/W、RO不同端口的配置,例如: [routing:greatsqlMGR_rw
:23] Line references path below legacy directory /var/run/, updating /var/run/mysqlrouter → /run/mysqlrouter 编辑配置文件,加上要代理的内网数据库 vim /etc/mysqlrouter/mysqlrouter.conf # Copyright (c) 2015, 2019, Oracle and/or its runtime_folder = /var/run/mysqlrouter config_folder = /etc/mysqlrouter [logger] level = INFO # If systemctl enable mysqlrouter.service 如果开机自启不了,可能是权限问题,可以更改下用户和用户组 chown mysqlrouter:mysqlrouter /usr /lib64/mysqlrouter
:4306 --name=MyMGR --directory=/etc/mysqlrouter/MyMGR --user=mysqlrouter --conf-base-port=7446 --https-port =9443 初始化完成后,在每个实例相应的目录下,会有下列的文件: $path/start.sh $path/stop.sh $path/mysqlrouter.pid $path/mysqlrouter.conf $path/mysqlrouter.key $path/run $path/run/keyring $path/data $path/log $path/log/mysqlrouter.log 可以看到还有 After=network.target After=syslog.target [Service] Type=notify User=mysqlrouter Group=mysqlrouter ExecStart =/usr/bin/mysqlrouter -c /etc/mysqlrouter/GrMGR/mysqlrouter.conf LimitNOFILE = 10000 #Restart=on-failure
这里更改为bind_port=3306 命令会更新 /etc/mysqlrouter/mysqlrouter.conf 中的配置信息, 可以是别的机器 这里选择的为db2 这里切换为root用户操作 /mysqlrouter --bootstrap root@10.4.65.164:3307 --directory /app/remind/mysql-router/data/mysqlrouter /mysqlrouter --bootstrap root@10.4.65.164:3307 --directory /app/remind/mysql-router1/data/mysqlrouter /mysqlrouter.conf.bak [root@db2 ~]# systemctl start mysqlrouter ## 启动推荐方式 cd data/mysqlrouter 目录下 执行. /mysqlrouter & ./mysqlrouter -c /app/remind/mysql-router/mysqlrouter.conf & 方式启动 查看端口方法一 khjhzx-!
Router从主实例获取Replica Set的拓扑信息 当主实例不可用并且升级了另一个实例时,MySQL Router会自动恢复 只需要运行下面这条命令即可将来集群信息注册到MySQL Router中 mysqlrouter --bootstrap root@10.210.1.2:3306 --user=mysqlrouter 从mysqlrouter的配置文件中可以看出集群状态为rs 配置文件路径/etc/mysqlrouter /mysqlrouter.conf cluster_type=rs routing_strategy=first-available routing_strategy=first-available 通过 mysqlrouter上的命令可以查看到接入集群的MySQL Router列表 MySQL 10.210.1.1:3306 ssl JS > var rs = dba.getReplicaSet(
_64 (MySQL Community - GPL) [mysql@hdp1~]$mysqlrouter --help [mysql@hdp1~]$mysqlrouter --help MySQL Router /mysqlrouter.ini) (/home/mysql/.mysqlrouter.conf) (/home/mysql/.mysqlrouter.ini) ... 将以上配置保存到/home/mysql/.mysqlrouter.conf文件,并后台启动MySQL Router: [mysql@hdp1~]$mysqlrouter -c /home/mysql/. 0 16:31 pts/0 00:00:00 mysqlrouter -c /home/mysql/.mysqlrouter.conf ... /mysqlrouter.ini) /home/mysql/.mysqlrouter.conf (/home/mysql/.mysqlrouter.ini) Plugins Path: /home
路由实例 先用 MySQLrouter 来配置读写分离,并且分配虚拟端口 root@ytt-pc:/home/ytt/scripts# mysqlrouter --bootstrap ytt@ytt-pc :4010 --user=mysqlrouter --force-password-validation --report-host ytt-pc Please enter MySQL password /mysqlrouter.conf Existing configuration backed up to '/etc/mysqlrouter/mysqlrouter.conf.bak' # MySQL $ /etc/init.d/mysqlrouter restart or $ systemctl start mysqlrouter or $ mysqlrouter -c /etc/mysqlrouter root@ytt-pc:/home/ytt/scripts# systemctl restart mysqlrouter 查看 router 路由 用 listRouters 方法详细的展示出 mysqlrouter
/mysqlrouter.conf) (/home/mysql/.mysqlrouter.conf) Plugins Path: /home/mysql/mysql-router-2.1.6/lib 配置Router # 复制配置文件 cp /home/mysql/mysql-router-2.1.6/share/doc/mysqlrouter/sample_mysqlrouter.conf /etc /mysqlrouter.conf cp /home/mysql/mysql-router-2.1.6/share/doc/mysqlrouter/sample_mysqlrouter.init /etc /mysqlrouter # 变为可执行 chmod +x /etc/init.d/mysqlrouter # 系统启动时自动执行 echo "/etc/init.d/mysqlrouter" >> /mysqlrouter.ini # pidfile: /var/run/mysqlrouter/mysqlrouter.pid # # Copyright (c) 2015, Oracle and/or
可以编写程序来监控 mysqlrouter 的执行,并在需要时重新启动它。 /mysqlrouter.conf) (/home/mysql/.mysqlrouter.conf) Plugins Path: /home/mysql/mysql-router-2.1.6/lib /mysqlrouter.conf cp /home/mysql/mysql-router-2.1.6/share/doc/mysqlrouter/sample_mysqlrouter.init /etc /mysqlrouter # 变为可执行 chmod +x /etc/init.d/mysqlrouter # 系统启动时自动执行 echo"/etc/init.d/mysqlrouter" >> /mysqlrouter.ini # pidfile: /var/run/mysqlrouter/mysqlrouter.pid # # Copyright (c) 2015, Oracle and/or
xvf mysql-router-8.0.19-linux-glibc2.12-x86_64.tar.xz mv mysql-router-8.0.19-linux-glibc2.12-x86_64 mysqlrouter chown -R mysql. mysqlrouter/ vim /root/.bash_profile PATH=PATH:HOME/bin:/service/software/ mysql_3306/bin:/service/software/mysqlshell/bin:/service/software/mysqlrouter/bin 配置mysqlrouter ## 指定目录 /tmp/myrouter 自动生成配置文件与启停脚本 mysqlrouter --bootstrap root@kh-oms4-sit-innodbcluster-db01:3306 --directory X写端口为64460,X读端口为64470 启动mysqlrouter [root@kh-oms4-sit-innodbcluster-db01 myrouter]# /tmp/myrouter/start.sh
/var/lib/mysqlrouter/state.json client_ssl_cert=/opt/software/mysql-router-8.0.32-linux-glibc2.17-x86 -x86_64-minimal/var/lib/mysqlrouter/router-key.pem client_ssl_mode=DISABLED server_ssl_mode=AS_CLIENT /mysqlrouter tcp 0 0 172.17.129.1:6446 172.17.139.62:54606 ESTABLISHED 1902/. /mysqlrouter tcp 0 0 172.17.129.1:6446 172.17.139.62:54592 ESTABLISHED 1902/. /mysqlrouter tcp 0 0 172.17.129.1:6446 172.17.139.62:54492 ESTABLISHED 1902/.
/mysqlrouter -V MySQL Router Ver 8.0.30 for Linux on x86_64 (MySQL Community - GPL) router 端口设置为 8030 和设置最大连接数 max_connections = 3 方便复现 shell> egrep 'max|port' mysqlrouter.conf max_connections = 3 bind_port /mysqlrouter tcp 0 0 10.186.65.132:8030 10.186.65.137:56308 ESTABLISHED 15045/. /mysqlrouter tcp 0 0 10.186.65.132:8030 10.186.65.137:56312 ESTABLISHED 15045/. /mysqlrouter tcp 0 0 10.186.65.132:8030 10.186.65.137:56310 ESTABLISHED 15045/.