Rocky Linux 8 部署多实例MySQL数据库

  在原有dnf/rpm方式部署的MySQL数据库基础上,新增多个MySQL数据库实例,采用二进制部署方式最佳,即不影响原数据库数据库的生产运行。


部署规划

mysql 运行位置:/data/app/mysql-5.7.36/3307
数据目录: /data/application_data/mysql_3307
日志目录: /data/application_data/mysql_3307/log
socket: /data/application_data/mysql_3307/mysql.sock
pid-file:/data/application_data/mysql_3307/mysqld.pid
log-error:/data/application_data/mysql_3307/mysqld.log

部署二进制MySQL数据库

$  useradd mysql -s /sbin/nologin -M # 如首次部署MySQL数据库执行添加mysql用户,对于已经通过dnf/rpm方式部署的MySQL数据库的无需执行

$  mkdir -p /data/application_data/mysql_3307
$  mkdir -p /data/application_data/mysql_3307/log
$  touch /data/application_data/mysql_3307/mysql.sock
$  touch /data/application_data/mysql_3307/mysqld.pid
$  touch /data/application_data/mysql_3307/mysqld.log
$  chown mysql:mysql -R /data/application_data/mysql_3307/
$  chown mysql:mysql -R /data/app/mysql-5.7.36/3307/ 

$  mkdir /etc/mysql
$  chown -R mysql:mysql /etc/mysql/

$  vim /etc/mysql/my-3307.cnf
[mysqld]
#innodb_buffer_pool_size = 128M
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
user=mysql
port=3307
datadir=/data/application_data/mysql_3307
socket=/data/application_data/mysql_3307/mysql.sock
server_id=2
#log-bin=master-221
#binlog_format=row
#skip-grant-tables
symbolic-links=0
pid-file=/data/application_data/mysql_3307/mysqld.pid
log-error=/data/application_data/mysql_3307/mysqld.log

[mysqld_safe]
log-error=/data/application_data/mysql_3307/mysqld.log

$ ./mysql_install_db --defaults-file=/etc/mysql/my-3307.cnf --basedir=/data/app/mysql-5.7.36/3307 --datadir=/data/application_data/mysql_3307 # 初始化数据库
$ ./mysqld_safe --defaults-file=/etc/mysql/my-3307.cnf --datadir=/data/application_data/mysql_3307 --pid-file=/data/application_data/mysql_3307/mysqld.pid --user=mysql &
$ ./mysql -uroot -p -S /data/application_data/mysql_3307/mysql.sock # 如在初始化数据库过程中未在日志中查询到初始密码,临时修改 skip-grant-tables,跳过密码验证登录
update user set authentication_string='' where user='root'; # 更新root用户信息,把密码设置为空字符串
ALTER user 'root'@'%' IDENTIFIED BY 'TWhbSC1MaRBd'; # 修改root用户密码
$  cat /etc/systemd/system/mysql3307.service # 配置systemctl服务方式启动

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql

ExecStart=/data/app/mysql-5.7.36/3307/bin/mysqld_safe --defaults-file=/etc/mysql/my-3307.cnf

LimitNOFILE = 5000
上一篇
下一篇
/*
Theme Argon
*/