1准备不同的MySQL版本文件和目录
#上传文件到此目录
[root@master /]# mkdir/app
#解压mysql-5.7.28
tar -zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz mysql5
#解压mysql-8.0.20,由于下载文件的后缀为.xz
#需要先将.xz解压为.tar,建议解压后删除.xz文件
xz -dk mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar mysql8
rm -rf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
[root@master /]# cd /app
[root@master app]# ls
mysql5 mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz mysql8 mysql-8.0.20-linux-glibc2.12-x86_64.tar
vi /etc/profile
#注释掉
#export PATH=/app/mysql8/bin:$PATH
source /etc/profile
#mysql -V 显示无此命令即为正常
mysql -V
mkdir -p /data/331{7..9}/data
mkdir -p /binlog/331{7..9}/
cd /data/
ls
chown -R mysql.mysql /data/* /binlog/*
2准备配置文件
cat > /data/3317/my.cnf <<EOF
[mysqld]
basedir=/app/mysql5
datadir=/data/3317/data
socket=/tmp/mysql3317.sock
log_error=/data/3317/mysql.log
port=3317
server_id=17
log_bin=/binlog/3317/mysql-bin
EOF
cat > /data/3318/my.cnf <<EOF
[mysqld]
basedir=/app/mysql8
datadir=/data/3318/data
socket=/tmp/mysql3318.sock
log_error=/data/3318/mysql.log
port=3318
server_id=18
log_bin=/binlog/3318/mysql-bin
EOF
3初始化
/app/mysql8/bin/mysqld --initialize-insecure --user=mysql --datadir=/data/3318/data --basedir=/app/mysql8
/app/mysql5/bin/mysqld --initialize-insecure --user=mysql --datadir=/data/3317/data --basedir=/app/mysql5
4准备启动脚本:
4.1配置MySQL8.0
vi /etc/systemd/system/mysqld8.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=/app/mysql8/bin/mysqld --defaults-file=/data/3318/my.cnf
LimitNOFILE = 5000
#查看端口
ss -nlt
#启动mysql8
systemctl start mysqld8.service
#查看端口
ss -nlt
cp /etc/systemd/system/mysqld8.service /etc/systemd/system/mysqld5.service
4.2配置MySQL5.7
vi /etc/systemd/system/mysqld5.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=/app/mysql5/bin/mysqld --defaults-file=/data/3317/my.cnf
LimitNOFILE = 5000
systemctl start mysqld5.service
ss -nlt
5进入mysql
MySQL启动
/app/mysql5/bin/mysql -S /tmp/mysql3317.sock
/app/mysql8/bin/mysql -S /tmp/mysql3318.sock