使用InnoDB Cluster解决MySQL数据库高可用方案
admin
2023-05-04 08:41:41
0

下文主要给大家带来使用InnoDB Cluster解决MySQL数据库高可用方案,希望这些内容能够带给大家实际用处,这也是我编辑使用InnoDB Cluster解决MySQL数据库高可用方案这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

MySQL InnoDB Cluster为MySQL提供了一个完整的高可用解决方案。MySQL Shell包含AdminAPI,能够轻松地配置和管理至少三个MySQL云服务器实例组,以作为InnoDB集群。每个MySQL云服务器实例都运行MySQL Group Replication,它提供了在innodb集群中复制数据的机制,并内置故障转移。MySQL Router可以根据您部署的集群自动配置自己,将客户端应用程序透明地连接到云服务器实例。如果云服务器实例发生意外故障,群集将自动重新配置。在默认的单主模式下,InnoDB集群有一个读写云服务器实例——主云服务器。多个辅助云服务器实例是主云服务器的副本。如果主云服务器出现故障,辅助云服务器将自动提升为主云服务器的角色。MySQL Router检测到这一点,并将客户端应用程序转发到新的主云服务器。

[root@wallet01 ~]# mysql -uroot -p
Enter password:

mysql> grant all privileges on *.* to 'root'@'wallet01' identified by 'abcd@1234';
Query OK, 0 rows affected, 1 warning (0.05 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)

[root@wallet01 ~]# yum install -y mysql-shell

[root@wallet01 ~]#  mysqlsh --log-level=DEBUG3
MySQL Shell 8.0.18

Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.

 MySQL  JS > shell.connect('root@wallet01:3306')
Creating a session to 'root@wallet01:3306'
Please provide the password for 'root@wallet01:3306': *********
Save password for 'root@wallet01:3306'? [Y]es/[N]o/Ne[v]er (default No): y
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 290
Server version: 5.7.27-log MySQL Community Server (GPL)
No default schema selected; type \use  to set one.


 MySQL  wallet01:3306  JS > var cluster = dba.createCluster('walletCluster', {adoptFromGR: true})
A new InnoDB cluster will be created based on the existing replication group on instance 

'wallet01:3306'.

Creating InnoDB cluster 'walletCluster' on 'wallet01:3306'...

Adding Seed Instance...
Adding Instance 'wallet03:3306'...
Adding Instance 'wallet01:3306'...
Adding Instance 'wallet02:3306'...
Resetting distributed recovery credentials across the cluster...
Cluster successfully created based on existing replication group.

 MySQL  wallet01:3306  JS > cluster.status();
{
    "clusterName": "walletCluster", 
    "defaultReplicaSet": {
        "name": "default", 
        "primary": "wallet01:3306", 
        "ssl": "DISABLED", 
        "status": "OK", 
        "statusText": "Cluster is ONLINE and can tolerate up to ONE failure.", 
        "topology": {
            "wallet01:3306": {
                "address": "wallet01:3306", 
                "mode": "R/W", 
                "readReplicas": {}, 
                "role": "HA", 
                "status": "ONLINE"
            }, 
            "wallet02:3306": {
                "address": "wallet02:3306", 
                "mode": "R/O", 
                "readReplicas": {}, 
                "role": "HA", 
                "status": "ONLINE"
            }, 
            "wallet03:3306": {
                "address": "wallet03:3306", 
                "mode": "R/O", 
                "readReplicas": {}, 
                "role": "HA", 
                "status": "ONLINE"
            }
        }, 
        "topologyMode": "Single-Primary"
    }, 
    "groupInformationSourceMember": "wallet01:3306"
}

 MySQL  wallet01:3306  JS > \quit
Bye!
[root@wallet01 ~]# yum install -y mysql-router 
[root@wallet01 ~]# mysqlrouter --bootstrap root@wallet01:3306 --user=mysqlrouter --name=router01
Please enter MySQL password for root: 
WARNING: The MySQL server does not have SSL configured and metadata used by the router may be 

transmitted unencrypted.
# Reconfiguring system MySQL Router instance...

- Checking for old Router accounts
  - No prior Router accounts found
- Creating mysql account 'mysql_router1_a8933v9tcn8v'@'%' for cluster management
- Storing account in keyring
- Adjusting permissions of generated files
- Creating configuration /etc/mysqlrouter/mysqlrouter.conf

# MySQL Router 'router01' configured for the InnoDB cluster 'walletCluster'

After this MySQL Router has been started with the generated configuration

    $ /etc/init.d/mysqlrouter restart
or
    $ mysqlrouter -c /etc/mysqlrouter/mysqlrouter.conf

the cluster 'walletCluster' can be reached by connecting to:

## MySQL Classic protocol

- Read/Write Connections: localhost:6446
- Read/Only Connections:  localhost:6447

## MySQL X protocol

- Read/Write Connections: localhost:64460
- Read/Only Connections:  localhost:64470

Existing configuration backed up to '/etc/mysqlrouter/mysqlrouter.conf.bak'

[root@wallet01 ~]# /etc/init.d/mysqlrouter start
Starting mysqlrouter:                                      [  OK  ]

[root@wallet01 ~]# /etc/init.d/mysqlrouter status
mysqlrouter (pid  24451) is running...

[root@wallet02 ~]# yum install -y mysql-router 
[root@wallet02 ~]# mysqlrouter --bootstrap root@wallet01:3306 --user=mysqlrouter --name=router02 

[root@wallet02 ~]# /etc/init.d/mysqlrouter start
Starting mysqlrouter:                                      [  OK  ]

[root@wallet02 ~]# /etc/init.d/mysqlrouter status
mysqlrouter (pid  6906) is running...

[root@wallet03 ~]# yum install -y mysql-router 
[root@wallet03 ~]# mysqlrouter --bootstrap root@wallet01:3306 --user=mysqlrouter --name=router03

[root@wallet03 ~]# /etc/init.d/mysqlrouter start
Starting mysqlrouter:                                      [  OK  ]

[root@wallet03 ~]# /etc/init.d/mysqlrouter status
mysqlrouter (pid  18081) is running...

对于以上关于使用InnoDB Cluster解决MySQL数据库高可用方案,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

相关内容

热门资讯

老杜盟友半路杀出,“闪电夺权”... 最近两天,马尼拉的政治温度直接爆表。5月11日上午,菲律宾众议院以255票赞成、26票反对、9票弃权...
“六张网”项目密集启动 进一步... 新华社北京5月13日电 题:“六张网”项目密集启动 进一步释放内需潜力经济参考报记者汪子旭近期,一批...
豪华邮轮病毒,横跨三大洲始末 5月11日,泛海探险公司确认,隶属于该公司的“洪迪厄斯”号邮轮抵达西班牙特内里费岛后,全部87名乘客...
苏泊尔球釜电饭煲不通电是什么原... 1、有可能是温度保险管出现了问题,每个电饭煲都有温度保险管,而不是家常用的保险丝,如果保险管出现了问...
九阳铁釜电饭煲不通电原因 1、可能是面板烧了。2、控制电路没有工作,先检查控制电源是否正常。电饭煲的面板显示器线路接触不良,找...
空调线控器出现“黑... 珠海总部对于退回的多联机线控器黑屏“故障”,部分是由于不清楚线控器的灯光功能,误触发线控器关闭了灯光...
长虹柜机温度传感器是多少K 每一个空调传感器的传感温度都会对应着不同的空调工作型号和参数,常见的有5K,10K和15K,当然在不...
测电笔测不出的漏电 1、如果漏电的电压比较低的话有时候测电笔就测试不出来的。2、有时候测电笔在出厂的时候没有检测好,就有...
“拖延毫无出路”:美智库疾呼出... 【文/观察者网 潘昱辰 编辑/高莘】“如果没有国家战略扶持,美国汽车产量将持续下滑,直接影响美国国家...
凤凰记者拍到空军一号飞抵首都机... “哪儿呢?”“来了,这!这!这!”5月13日晚,特朗普专机空军一号抵达北京首都机场 ,凤凰卫视记者拍...