当前位置:首页 > 系统教程 > 正文

Linux运维实战:基于Ubuntu22.04部署MySQL InnoDB Cluster单写集群

Linux运维实战:基于Ubuntu22.04部署MySQL InnoDB Cluster单写集群

二进制安装、读写分离与SSL/TLS安全配置指南

本教程将详细介绍如何在Ubuntu22.04系统上,通过二进制方式部署MySQL InnoDB Cluster,实现单写模式集群、读写分离以及SSL/TLS加密。无论您是Linux运维新手还是有一定经验的用户,都能按照步骤完成部署。

在本文中,我们将重点介绍MySQL InnoDB Cluster的部署,这是MySQL的高可用解决方案。通过Ubuntu22.04操作系统,我们将展示二进制安装过程。此外,配置读写分离以提高性能,并启用SSL/TLS加密确保数据传输安全。

Linux运维实战:基于Ubuntu22.04部署MySQL InnoDB Cluster单写集群 MySQL Cluster  Ubuntu22.04 读写分离 SSL/TLS加密 第1张

一、准备工作

确保系统为Ubuntu22.04,并且CPU架构为x86_64。更新系统包:

    sudo apt updatesudo apt upgrade -y  

安装必要的依赖包:

    sudo apt install -y wget libaio1 libnuma1  

二、二进制部署MySQL

从MySQL官网下载二进制包,这里以MySQL 8.0为例:

    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.17-x86_64.tar.xztar -xvf mysql-8.0.33-linux-glibc2.17-x86_64.tar.xzsudo mv mysql-8.0.33-linux-glibc2.17-x86_64 /usr/local/mysql  

创建MySQL用户和组,并设置权限:

    sudo groupadd mysqlsudo useradd -r -g mysql -s /bin/false mysqlcd /usr/local/mysqlsudo mkdir mysql-filessudo chown mysql:mysql mysql-filessudo chmod 750 mysql-files  

初始化MySQL:

    sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/datasudo bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data  

启动MySQL服务:

    sudo support-files/mysql.server start  

三、配置InnoDB Cluster

安装MySQL Shell和MySQL Router:

    sudo apt install -y mysql-shell mysql-router  

使用MySQL Shell创建InnoDB Cluster。首先,登录MySQL:

    mysqlsh\connect root@localhost  

然后创建集群:

    var cluster = dba.createCluster("myCluster")  

添加其他节点(如果需要多节点),但本文以单写模式为例。

四、设置单写模式

在InnoDB Cluster中,默认是单写模式,即只有一个节点可写。通过以下命令检查:

    cluster.status()  

确保集群模式为单主模式。

五、配置读写分离

使用MySQL Router实现读写分离。编辑MySQL Router配置文件:

    sudo nano /etc/mysqlrouter/mysqlrouter.conf  

配置读写端口,例如写端口6446,读端口6447。然后重启MySQL Router:

    sudo systemctl restart mysqlrouter  

六、启用SSL/TLS加密

在MySQL配置文件中启用SSL。编辑my.cnf:

    sudo nano /etc/mysql/my.cnf  

添加以下内容:

    [mysqld]ssl-ca=/usr/local/mysql/data/ca.pemssl-cert=/usr/local/mysql/data/server-cert.pemssl-key=/usr/local/mysql/data/server-key.pem  

重启MySQL服务使配置生效:

    sudo systemctl restart mysql  

七、测试与验证

连接MySQL Router进行读写测试。使用写端口执行写操作,读端口执行读操作,并验证SSL连接。

    mysql -h 127.0.0.1 -P 6446 -u root -p --ssl-mode=REQUIRED  

执行一些SQL语句测试读写分离和SSL。

八、总结

通过本教程,您已经成功在Ubuntu22.04上使用二进制方式部署了MySQL InnoDB Cluster,实现了单写模式集群、读写分离和SSL/TLS加密。这为您的应用提供了高可用、高性能和安全的数据存储解决方案。

关键词:MySQL InnoDB Cluster, Ubuntu22.04, 读写分离, SSL/TLS加密