下面是CentOS中安装多个mysql数据的配置实例的详细攻略:
1. 安装MySQL
首先,你需要安装MySQL。可以通过以下命令来安装:
sudo yum install mysql-server
安装过程中,你需要输入以下命令来启动MySQL服务:
sudo systemctl start mysqld
并设置MySQL服务在开机时启动:
sudo systemctl enable mysqld
2. 配置多个MySQL实例
常规情况下,CentOS只允许在一个端口上监听一个MySQL实例。因此,如果你想在同一台机器上运行多个实例,你需要创建新的配置文件并指定不同的监听端口。
以下是创建并配置两个MySQL实例的示例:
示例一
首先,你需要在/etc
目录下创建一个新的配置文件my.cnf
,并将以下内容添加到该文件中:
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log = /var/log/mysqld_multi.log
[mysqld]
port = 3309
socket = /var/run/mysqld/mysqld_3309.sock
datadir = /var/lib/mysql/mysql1
[mysqld1]
port = 3310
socket = /var/run/mysqld/mysqld_3310.sock
datadir = /var/lib/mysql/mysql2
其中,[mysqld_multi]
是一个特殊的配置块,用于指定多个MySQL实例的启动程序、管理程序和日志文件路径。[mysqld]
和[mysqld1]
是两个MySQL实例的配置块。你可以根据自己的需要添加更多的实例。
接下来,你需要创建MySQL实例的文件夹和数据目录:
sudo mkdir /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql/mysql1
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql/mysql2
sudo chown -R mysql:mysql /var/lib/mysql
然后,你可以启动两个MySQL实例:
sudo mysqld_multi start
现在,你可以通过mysql
命令连接到这两个实例:
mysql -P 3309
mysql -P 3310
示例二
除了上述方法之外,你还可以使用systemd
来配置两个MySQL实例。首先,你需要创建两个系统服务文件:/etc/systemd/system/mysqld1.service
和/etc/systemd/system/mysqld2.service
。
mysqld1.service
的内容如下:
[Unit]
Description=MySQL Server Instance one
After=syslog.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf.d/mysql1.cnf -f
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/my.cnf.d/mysql1.cnf shutdown
PIDFile=/var/run/mysqld/mysqld1.pid
Restart=always
RestartSec=2s
[Install]
WantedBy=multi-user.target
mysqld2.service
的内容如下:
[Unit]
Description=MySQL Server Instance two
After=syslog.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf.d/mysql2.cnf -f
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/my.cnf.d/mysql2.cnf shutdown
PIDFile=/var/run/mysqld/mysqld2.pid
Restart=always
RestartSec=2s
[Install]
WantedBy=multi-user.target
在上述配置中,--defaults-file
参数指定了MySQL配置文件的路径,PIDFile
指定了PID文件的保存路径。
接下来,你需要在/etc/my.cnf.d/
目录下创建两个MySQL配置文件mysql1.cnf
和mysql2.cnf
。内容如下:
mysql1.cnf
:
[mysqld]
port=3307
datadir=/var/lib/mysql/mysql1
socket=/var/lib/mysql/mysql1/mysql.sock
[mysql_safe]
log-error=/var/log/mysql/mysql1.err
pid-file=/var/run/mysqld/mysqld1.pid
mysql2.cnf
:
[mysqld]
port=3308
datadir=/var/lib/mysql/mysql2
socket=/var/lib/mysql/mysql2/mysql.sock
[mysql_safe]
log-error=/var/log/mysql/mysql2.err
pid-file=/var/run/mysqld/mysqld2.pid
在上述配置中,port
参数指定了MySQL的监听端口,datadir
指定了数据目录,socket
指定了socket文件路径。
然后,你需要创建MySQL实例的文件夹和数据目录:
sudo mkdir -p /var/lib/mysql/mysql1
sudo mkdir -p /var/lib/mysql/mysql2
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod 700 /var/lib/mysql/mysql*
最后,你需要将两个MySQL服务注册为系统服务并启动它们:
sudo systemctl enable mysqld1.service
sudo systemctl enable mysqld2.service
sudo systemctl start mysqld1.service
sudo systemctl start mysqld2.service
现在,你可以通过mysql
命令连接到这两个实例:
mysql -P 3307
mysql -P 3308
以上就是CentOS中安装多个mysql数据的配置实例的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos中安装多个mysql数据的配置实例 - Python技术站