我们来详细讲解“CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解)”的操作步骤。
1. 准备工作
1.1 安装mysql源
# 下载rpm包
wget http://repo.mysql.com/mysql57-community-release-el7.rpm
# 安装rpm包
sudo rpm -ivh mysql57-community-release-el7.rpm
# 更新yum源并安装
sudo yum update
sudo yum install mysql-community-server mysql-community-client
1.2 修改默认安装目录
MySQL默认的安装目录是 /var/lib/mysql
,为了能够方便的使用 mysql_multi
方式来管理多个 MySQL 服务器实例,我们需要将 MySQL 的安装目录改为 /home/mysql
。
# 停止 MySQL 服务
sudo systemctl stop mysqld.service
# 备份 /var/lib/mysql 数据目录
sudo mv /var/lib/mysql /var/lib/mysql.bak
# 创建新的 /home/mysql 数据目录
sudo mkdir -p /home/mysql
# 复制原有数据到 /home/mysql 目录
sudo cp -rf /var/lib/mysql.bak/* /home/mysql
# 修改数据目录权限
sudo chown -R mysql:mysql /home/mysql
# 修改配置文件中的路径
sudo vim /etc/my.cnf
# 在 [mysqld] 段添加下面两行,并将 datadir 和 socket 参数指向新的 /home/mysql 目录
[mysqld]
datadir=/home/mysql
socket=/home/mysql/mysql.sock
# 重启 MySQL 服务
sudo systemctl start mysqld.service
1.3 初始化 MySQL
sudo mysql_secure_installation
2. 创建多实例
2.1 安装 perl-Module-Install
mysql_multi
需要依赖 perl-Module-Install 进行安装,因此需要先安装该组件。
sudo yum install -y perl-Module-Install
2.2 修改 my.cnf 对应配置文件
每个实例的配置文件都需要独立配置。在我的配置中,我创建了两个实例,分别为 instance1、instance2。在修改配置文件时,需要将配置文件名修改为对应实例名。
# 复制默认配置文件到新的配置文件,修改为对应实例名
sudo cp /etc/my.cnf /etc/my-instance1.cnf
sudo cp /etc/my.cnf /etc/my-instance2.cnf
# 修改 my-instance1.cnf 文件
sudo vim /etc/my-instance1.cnf
[mysqld]
pid-file=/home/mysql/instance1/mysql.pid
socket=/home/mysql/instance1/mysql.sock
port=3308
innodb_buffer_pool_size=128M
log-bin=mysql-bin
log-error=mysql-bin.err
# 修改 my-instance2.cnf 文件
sudo vim /etc/my-instance2.cnf
[mysqld]
pid-file=/home/mysql/instance2/mysql.pid
socket=/home/mysql/instance2/mysql.sock
port=3309
innodb_buffer_pool_size=256M
log-bin=mysql-bin
log-error=mysql-bin.err
2.3 创建实例
使用 mysql_multi
命令来创建实例。
sudo mysql_multi stop
sudo mysql_multi report
sudo mysql_multi start instance1
sudo mysql_multi start instance2
sudo mysql_multi report
通过 mysql_multi report
命令来查看创建的实例信息。
3. 示例说明
3.1 示例一
3.1.1 创建新实例
假设我们想要创建一个名为 test
的新实例,并将其端口号设置为 3333
,需要按照如下步骤进行操作:
# 创建新的配置文件
sudo cp /etc/my.cnf /etc/my-test.cnf
# 修改对应参数
sudo vim /etc/my-test.cnf
[mysqld]
pid-file=/home/mysql/test/mysql.pid
socket=/home/mysql/test/mysql.sock
port=3333
innodb_buffer_pool_size=512M
log-bin=mysql-bin
log-error=mysql-bin.err
# 创建新实例
sudo mysql_multi start test
3.1.2 连接到新实例
使用命令 mysql --socket=/home/mysql/test/mysql.sock
来连接到新实例。
# 连接到新实例
mysql --socket=/home/mysql/test/mysql.sock
3.2 示例二
3.2.1 删除现有实例
假设我们不再需要 instance2
实例,需要将其删除,需要按照如下步骤进行操作:
# 删除实例
sudo mysql_multi stop
sudo mysql_multi report
sudo mysql_multi remove instance2
sudo mysql_multi report
3.2.2 修改现有实例
假设我们需要将 test
实例的端口号修改为 3334
,需要按照如下步骤进行操作:
# 修改配置文件
sudo vim /etc/my-test.cnf
[mysqld]
pid-file=/home/mysql/test/mysql.pid
socket=/home/mysql/test/mysql.sock
port=3334
innodb_buffer_pool_size=512M
log-bin=mysql-bin
log-error=mysql-bin.err
# 重启实例
sudo mysql_multi restart test
这就是 “CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解)” 的攻略,希望对您有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解) - Python技术站