文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【MySQL】数据库中间件--ProxySQL+MGR

2024-04-02 19:55

关注
[root@wallet01 ~]# mysql -uroot -p < addition_to_sys.sql 
Enter password:

[root@wallet01 ~]# mysql -uroot -p
Enter password:
mysql> select * from sys.gr_member_routing_candidate_status;
+------------------+-----------+---------------------+----------------------+
| viable_candidate | read_only | transactions_behind | transactions_to_cert |
+------------------+-----------+---------------------+----------------------+
| YES              | NO        |                   0 |                    0 |
+------------------+-----------+---------------------+----------------------+
1 row in set (0.00 sec)

mysql> create user monitor@'192.168.40.%' identified by 'monitor@2019';   
Query OK, 0 rows affected (0.11 sec)

mysql> grant select on sys.* to monitor@'192.168.40.%'; 
Query OK, 0 rows affected (0.04 sec)

[root@wallet02 ~]# mysql -uroot -p
Enter password:
mysql> select * from sys.gr_member_routing_candidate_status;
+------------------+-----------+---------------------+----------------------+
| viable_candidate | read_only | transactions_behind | transactions_to_cert |
+------------------+-----------+---------------------+----------------------+
| YES              | YES       |                   0 |                    0 |
+------------------+-----------+---------------------+----------------------+
1 row in set (0.00 sec)

[root@wallet03 ~]# mysql -uroot -p
Enter password:
mysql> select * from sys.gr_member_routing_candidate_status;
+------------------+-----------+---------------------+----------------------+
| viable_candidate | read_only | transactions_behind | transactions_to_cert |
+------------------+-----------+---------------------+----------------------+
| YES              | YES       |                   0 |                    0 |
+------------------+-----------+---------------------+----------------------+
1 row in set (0.00 sec)

[root@wallet04 ~]# cat <<EOF | tee /etc/yum.repos.d/proxysql.repo
[proxysql_repo]
name= ProxySQL YUM repository
baseurl=https://repo.proxysql.com/ProxySQL/proxysql-2.0.x/centos/\$releasever
gpgcheck=1
gpgkey=https://repo.proxysql.com/ProxySQL/repo_pub_key
EOF

[root@wallet04 ~]# yum install -y proxysql

[root@wallet04 ~]# service proxysql start
Starting ProxySQL: 2019-10-18 16:40:55 [INFO] Using config file /etc/proxysql.cnf
2019-10-18 16:40:55 [INFO] SSL keys/certificates found in datadir (/var/lib/proxysql): loading them.

[root@wallet04 ~]# service proxysql status
ProxySQL is running (8428).

[root@wallet04 ~]# mysql -u admin -padmin -h 127.0.0.1 -P6032 --prompt='Admin>'

Admin>insert into mysql_servers(hostgroup_id,hostname,port) 
      values(10,'192.168.40.34',3306),
            (10,'192.168.40.35',3306),
            (10,'192.168.40.36',3306);
Query OK, 3 rows affected (0.00 sec)

Admin>load mysql servers to runtime;
Query OK, 0 rows affected (0.01 sec)

Admin>save mysql servers to disk;
Query OK, 0 rows affected (0.42 sec)

Admin>select hostgroup_id,hostname,port,status,weight from mysql_servers;
+--------------+---------------+------+--------+--------+
| hostgroup_id | hostname      | port | status | weight |
+--------------+---------------+------+--------+--------+
| 10           | 192.168.40.34 | 3306 | ONLINE | 1      |
| 10           | 192.168.40.35 | 3306 | ONLINE | 1      |
| 10           | 192.168.40.36 | 3306 | ONLINE | 1      |
+--------------+---------------+------+--------+--------+
3 rows in set (0.00 sec)

Admin>set mysql-monitor_username='monitor';
Query OK, 1 row affected (0.00 sec)

Admin>set mysql-monitor_password='monitor@2019';
Query OK, 1 row affected (0.00 sec)

Admin>load mysql variables to runtime;
Query OK, 0 rows affected (0.00 sec)

Admin>save mysql variables to disk;
Query OK, 136 rows affected (0.06 sec)

Admin>insert into mysql_group_replication_hostgroups(writer_hostgroup,backup_writer_hostgroup,reader_hostgroup,offline_hostgroup,active,max_writers,writer_is_also_reader,max_transactions_behind) 
      values(10,20,30,40,1,1,0,0);
Query OK, 1 row affected (0.00 sec)

Admin>load mysql servers to runtime;
Query OK, 0 rows affected (0.01 sec)

Admin>save mysql servers to disk;
Query OK, 0 rows affected (0.49 sec)

Admin>select * from mysql_group_replication_hostgroups\G
*************************** 1. row ***************************
       writer_hostgroup: 10
backup_writer_hostgroup: 20
       reader_hostgroup: 30
      offline_hostgroup: 40
                 active: 1
            max_writers: 1
  writer_is_also_reader: 0
max_transactions_behind: 0
                comment: NULL
1 row in set (0.00 sec)

Admin>select hostgroup_id, hostname, port,status from runtime_mysql_servers;
+--------------+---------------+------+--------+
| hostgroup_id | hostname      | port | status |
+--------------+---------------+------+--------+
| 10           | 192.168.40.34 | 3306 | ONLINE |
| 30           | 192.168.40.35 | 3306 | ONLINE |
| 30           | 192.168.40.36 | 3306 | ONLINE |
+--------------+---------------+------+--------+
3 rows in set (0.00 sec)

Admin>insert into mysql_users(username,password,default_hostgroup,transaction_persistent) 
      values('sakila','sakila@2019',10,1);
Query OK, 1 row affected (0.00 sec)

Admin>load mysql users to runtime;
Query OK, 0 rows affected (0.00 sec)

Admin>save mysql users to disk;
Query OK, 0 rows affected (0.14 sec)

Admin>insert into mysql_query_rules(rule_id,active,match_digest,destination_hostgroup,apply)
      values(1,1,'^SELECT.*FOR UPDATE$',10,1),(2,1,'^SELECT',30,1);
Query OK, 2 rows affected (0.00 sec)

Admin>load mysql query rules to runtime;
Query OK, 0 rows affected (0.00 sec)

Admin>save mysql query rules to disk;
Query OK, 0 rows affected (0.20 sec)

Admin>select hostgroup,digest_text from stats_mysql_query_digest;
+-----------+------------------------------------------------------------------------------------+
| hostgroup | digest_text                                                                        |
+-----------+------------------------------------------------------------------------------------+
| 10        | DELETE FROM `rental` WHERE (`rental_id`=?)                                         |
| 30        | SELECT * FROM `store` LIMIT ?, ?                                                   |
| 10        | SHOW COLUMNS FROM `sakila`.`customer`                                              |
| 10        | SHOW COLUMNS FROM `sakila`.`actor`                                                 |
| 30        | SELECT * FROM `country` WHERE (`country_id`=?) LIMIT ?                             |
| 10        | UPDATE `country` SET `last_update`=? WHERE (`country_id`=?)                        |
| 30        | SELECT * FROM `country` LIMIT ?, ?                                                 |


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯