您的位置 首页 数据库

mysql多个版本服务实例(多实例)实战

mysql多个版本服务实例(多实例)实战

数据库8.0版本客户端会向下兼容,所以可以使用8.0版本客户端命令管理其他版本实例。

01 数据库服务程序下载解压

...省略...
确认数据库服务安装部署后情况:

ll -d  mysql*
lrwxrwxrwx  1 root root        35 10月 27 23:28 mysql56 -> mysql-5.6.48-linux-glibc2.12-x86_64
drwxr-xr-x 13 root root       191 10月 27 23:27 mysql-5.6.48-linux-glibc2.12-x86_64
-r--------  1 root root 343082156 10月 27 23:00 mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz
lrwxrwxrwx  1 root root        35 10月 27 23:29 mysql57 -> mysql-5.7.30-linux-glibc2.12-x86_64
drwxr-xr-x  9 root root       129 10月 27 23:28 mysql-5.7.30-linux-glibc2.12-x86_64
-r--------  1 root root 660017902 10月 27 23:02 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

02 数据库服务环境变量取消

# 将以下环境变量配置信息注释

vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH

配置信息注释掉后,可以重新建立远程连接,生成新的会话信息

# 验证环境变量信息已经被注释

mysql -V
-bash:mysql:command not found
-- 看到以上信息,表示数据库服务已经被注释

03 数据库服务配置文件移除

# 移动数据库默认配置文件,以免多实例版本服务默认加载

mv /etc/my.cnf /backup

04 数据库服务实例配置目录

# 创建数据库多实例所需目录

mkdir -p /data/3356/data
mkdir -p /data/3357/data
chown -R mysql. /data/*

05 数据库服务初始过程操作

# 数据库服务初始化操作:5.6版本

/usr/local/mysql56/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56/ --datadir=/data/3356/data
-- 初始化命令执行完毕后,输出信息显示两个ok,就表示5.6版本数据库程序初始化成功

# 数据库服务初始化操作:5.7版本

/usr/local/mysql57/bin/mysqld --user=mysql --initialize-insecure --basedir=/usr/local/mysql57/ --datadir=/data/3357/data

# 数据库服务初始化操作:8.0版本

初始化操作命令与操作过程和5.7一致

06 数据库服务配置文件编写

# 数据库服务实例服务配置文件编写:5.6

cat >/data/3356/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/usr/local/mysql56
datadir=/data/3356/data
socket=/tmp/mysql3356.sock
port=3356
EOF

# 数据库服务实例服务配置文件编写:5.7

port=3356
EOF

# 数据库服务实例服务配置文件编写:5.7
cat >/data/3357/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/usr/local/mysql57
datadir=/data/3357/data
socket=/tmp/mysql3357.sock
port=3357
EOF

# 数据库服务实例服务配置文件编写:8.0
.. 省略..
-- 多实例配置文件信息和5.7一致,不做重复性操作了

07 数据库服务配置启动文件

# 数据库服务多实例启动文件信息:5.6

vim /etc/systemd/system/mysqld3356.service
[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=/usr/local/mysql56/bin/mysqld --defaults-file=/data/3356/my.cnf
LimitNOFILE=5000

# 数据库服务多实例启动文件信息:5.7

vim /etc/systemd/system/mysqld3357.service
[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=/usr/local/mysql57/bin/mysqld --defaults-file=/data/3357/my.cnf
LimitNOFILE=5000

# 数据库服务多实例启动文件信息:8.0

同上

08 数据库服务程序启动操作

systemctl start mysqld3356
systemctl start mysqld3357
# 检查多实例程序是否启动成功
ss -lntp|grep mysqld

# 进行数据库连接测试

mysql -S /tmp/mysql3356.sock
mysql -S /tmp/mysql3357.sock

 

说明:数据库8.0版本客户端会向下兼容,所以可以使用8.0版本客户端命令管理其他版本实例。

 

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章