1. 下载各个版本mysql
5.7:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
8.0:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
2.解压
如果是.xz格式可以使用 tar -Jxvf *.tar.xz
mv mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql
mv mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql8
4. 创建数据存储文件
mkdir -p /data/mysql/mysql5.7
mkdir -p /data/mysql/mysql5.8
5. 添加用户、赋予权限
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /data/mysql
chmod -R 755 /data/mysql
6. 配置my.cnf
参考:文章附件
7.到对应mysql根目录初始化MySQL并在datadir下的error.log中找到密码记下
./mysqld --initialize --lower_case_table_names=1 --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql5.7;
./mysqld --initialize --lower_case_table_names=1 --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql/mysql5.8;
8.开启ssl访问:
/usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql5.7
/usr/local/mysql8/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql/mysql5.8
9.授权生成sock
sudo chown -R mysql:mysql /usr/local/mysql
sudo chown -R mysql:mysql /usr/local/mysql8
10.启动MySQL
mysqld_multi start 3306
mysqld_multi start 3307
如提示my_print_defaults command not found,可在/etc/profile 末尾增加
export PATH=/usr/local/mysql8/bin:$PATH
11.查看启动状态
mysqld_multi report
12. 分别进入各个版本MySQL去进行密码修改和端口开放操作
/usr/local/mysql/bin/mysql -S /usr/local/mysql/mysql.sock -p'yu,Yf+iM1%Fu'
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
update user set host='%' where user='root';
flush privileges;
/usr/local/mysql8/bin/mysql -S /usr/local/mysql8/mysql.sock -p'klkOTJVl>8V8'