下面就为您详细讲解“CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21)”的完整攻略。
准备工作
在开始之前,需要你按照以下步骤进行准备:
- 确保你的服务器已经安装了CentOS 7.0系统和MySQL 5.7.21。
- 创建一个新的MySQL数据目录,例如:/data/mysql-3307。
- 修改MySQL的配置文件my.cnf,在该文件中创建一个新的MySQL实例。
创建新MySQL实例
我们需要创建一个新的MySQL实例,并为其指定新的数据目录和端口号,步骤如下:
- 复制MySQL配置文件my.cnf并重命名为my-3307.cnf。
$ sudo cp /etc/my.cnf /etc/my-3307.cnf
- 编辑新复制的my-3307.cnf文件,修改MySQL的数据目录和端口号。
# 端口号
port=3307
# 数据目录
datadir=/data/mysql-3307
- 创建新的MySQL数据目录。
$ sudo mkdir /data/mysql-3307
- 将文件所有者设置为mysql用户。
$ sudo chown -R mysql:mysql /data/mysql-3307
- 初始化新的MySQL实例。
$ sudo mysql_install_db --user=mysql --datadir=/data/mysql-3307/
启动新的MySQL实例
完成创建新MySQL实例后,我们需要将其启动。需要注意的是,我们需要为该实例创建一个新的systemd unit文件,以便于在后续操作中进行管理。
- 新建一个名为mysql@.service的文件,并编辑此文件。
$ sudo vi /usr/lib/systemd/system/mysql@.service
- 在该文件中添加以下内容:
[Unit]
Description=MySQL Database Server
After=network.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/data/mysql-%i/mysqld.pid
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my-%i.cnf $MYSQLD_OPTS
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/my-%i.cnf -uroot -p shutdown
Restart=on-failure
[Install]
WantedBy=multi-user.target
- 启动新的MySQL实例。
$ sudo systemctl start mysql@3307
- 确认是否启动成功。
$ sudo systemctl status mysql@3307
示例说明
假设现在我们需要同时启动两个MySQL实例,他们的数据库端口分别为3306和3307,我们可以通过如下方式操作:
- 复制MySQL配置文件my.cnf并分别重命名为my-3306.cnf和my-3307.cnf。
$ sudo cp /etc/my.cnf /etc/my-3306.cnf
$ sudo cp /etc/my.cnf /etc/my-3307.cnf
- 编辑新复制的my-3306.cnf和my-3307.cnf文件,修改MySQL的数据目录和端口号。
对于my-3306.cnf文件:
# 端口号
port=3306
# 数据目录
datadir=/data/mysql-3306
对于my-3307.cnf文件:
# 端口号
port=3307
# 数据目录
datadir=/data/mysql-3307
- 分别创建新的MySQL数据目录。
$ sudo mkdir /data/mysql-3306
$ sudo mkdir /data/mysql-3307
- 将文件所有者设置为mysql用户。
$ sudo chown -R mysql:mysql /data/mysql-3306
$ sudo chown -R mysql:mysql /data/mysql-3307
- 初始化新的MySQL实例。
$ sudo mysql_install_db --user=mysql --datadir=/data/mysql-3306/
$ sudo mysql_install_db --user=mysql --datadir=/data/mysql-3307/
- 新建mysql@.service文件并编辑此文件。
$ sudo vi /usr/lib/systemd/system/mysql@.service
- 在该文件中添加以下内容:
[Unit]
Description=MySQL Database Server
After=network.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/data/mysql-%i/mysqld.pid
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my-%i.cnf $MYSQLD_OPTS
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/my-%i.cnf -uroot -p shutdown
Restart=on-failure
[Install]
WantedBy=multi-user.target
- 启动新的MySQL实例。
$ sudo systemctl start mysql@3306
$ sudo systemctl start mysql@3307
- 确认是否启动成功。
$ sudo systemctl status mysql@3306
$ sudo systemctl status mysql@3307
以上就是详细的“CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21)”攻略过程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21) - Python技术站