暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux系统同时安装MySQL5.7和MySQL8.0

Linux系统同时安装MySQL5.7和MySQL8.0

安装介质下载地址:https://downloads.mysql.com/archives/community/

安装包上传目录:/data/software

1.MySQL5.7安装步骤

1.1、先将安装包解压并创建软链接
cd /data/software
tar -xvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
ln -s /data/software/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql57

1.2在MySQL安装目录下创建存储数据库数据的新目录data/:

cd /usr/local/mysql57/
mkdir data

1.3编辑my.cnf文件并赋予执行权限(8.0和5.7不一样):

cd /usr/local/mysql57/

vim my.cnf

[mysqld]
basedir=/usr/local/mysql57/
datadir=/usr/local/mysql57/data/
port=3306
socket=/tmp/mysql57.sock
log-bin=/usr/local/mysql57/mysql-bin
server-id=2

[mysqld_safe]
log-error=/usr/local/mysql57/data/error.log
pid-file=/usr/local/mysql57/data/mysqld.pid
tmpdir=/tmp/mysql57

1.4chmod 755 my.cnf

1.5修改/usr/local/mysql57/support-files/mysql.server文件:

vim /usr/local/mysql57/support-files/mysql.server

46 basedir=/usr/local/mysql57
47 datadir=/usr/local/mysql57/data

57 lockdir=’/var/lock/subsys’
58 lock_file_path="$lockdir/mysql57"

63 mysqld_pid_file_path=/usr/local/mysql57/data/mysqld.pid

66 basedir=/usr/local/mysql57
67 bindir=/usr/local/mysql57/bin

70 datadir=/usr/local/mysql57/data

72 sbindir=/usr/local/mysql57/bin
73 libexecdir=/usr/local/mysql57/bin

207 conf=/usr/local/mysql57/my.cnf

1.6将修改之后的文件复制到/etc/init.d/目录,再将复制过去的文件重命名为mysql57

cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/
mv /etc/init.d/mysql.server /etc/init.d/mysql57

1.7添加mysql用户和用户组,修改MySQL安装目录的所有者:

groupadd mysql
useradd mysql -g mysql
chown -R mysql:mysql /usr/local/mysql57/

1.8初始化MySQL5.7

/usr/local/mysql57/bin/mysqld --defaults-file=/usr/local/mysql57/my.cnf --user=mysql --initialize

MySQL5.7就算是安装完毕了。

1.9启动MySQL5.7

service mysql57 start

1.10登录MySQL5.7

socket本地登录:
/usr/local/mysql57/bin/mysql -S/tmp/mysql57.sock -uroot -p

tcp/ip登录:
/usr/local/mysql57/bin/mysql -uroot -p -h127.0.0.1 -P3306

ln -s /usr/local/mysql57/bin/mysql /usr/bin
mv /usr/bin/mysql /usr/bin/mysql57

1.11查看MySQL版本号以及更改root用户的默认密码
测试一下,查看安装的MySQL版本号
mysql57 -V
登录(输入密码不显示,直接粘贴原先的初始化密码回车就行)
mysql57 -uroot -p -S/tmp/mysql57.sock

更改root用户的默认密码为123456
mysql> set password for ‘root’@‘localhost’=‘123456’;
#退出
mysql> exit

2.MySQL8.0安装步骤

2.1先将安装包解压并创建软链接
cd /data/software
tar -xvf mysql-8.0.26-el7-x86_64.tar.gz
ln -s /data/software/mysql-8.0.26-el7-x86_64 /usr/local/mysql80

2.2在MySQL安装目录下创建存储数据库数据的新目录data/:

cd /usr/local/mysql80/
mkdir data

2.3新建编辑my.cnf文件并赋予执行权限(MySQL8.0的配置文件):

cd /usr/local/mysql80/
vim my.cnf

[mysqld]
basedir=/usr/local/mysql80/
datadir=/usr/local/mysql80/data/
port=3307
socket=/tmp/mysql80.sock
character-set-server=UTF8MB4
symbolic-links=0

log-bin=/usr/local/mysql80/mysql-bin
server-id=1

gtid_mode=on
enforce_gtid_consistency=on

[mysqld_safe]
log-error=/usr/local/mysql80/data/error.log
pid-file=/usr/local/mysql80/data/mysqld.pid
tmpdir=/tmp/mysql80

chmod 755 my.cnf

2.4对照以下内容,修改/usr/local/mysql80/support-files/mysql.server文件:

vim /usr/local/mysql80/support-files/mysql.server

……
46 basedir=/usr/local/mysql80
47 datadir=/usr/local/mysql80/data
……
58 lock_file_path="$lockdir/mysql80"
63 mysqld_pid_file_path=/usr/local/mysql80/data/mysqld.pid
……
66 basedir=/usr/local/mysql80
67 bindir=/usr/local/mysql80/bin
……
70 datadir=/usr/local/mysql80/data
71 fi
72 sbindir=/usr/local/mysql80/bin
73 libexecdir=/usr/local/mysql80/bin
……
207 conf=/usr/local/mysql80/my.cnf

2.5将修改之后的文件复制到/etc/init.d/目录,再将复制过去的文件重命名为mysql80:

cp /usr/local/mysql80/support-files/mysql.server /etc/init.d/
mv /etc/init.d/mysql.server /etc/init.d/mysql80

2.6修改MySQL安装目录的所有者:

chown -R mysql:mysql /usr/local/mysql80/

2.7初始化MySQL8.0,记得保存如下图框出来位置的初始化密码,登录的时候要用这个密码登录:

/usr/local/mysql80/bin/mysqld --defaults-file=/usr/local/mysql80/my.cnf --user=mysql --initialize

MySQL8.0就算是安装完毕了。

2.8启动MySQL8.0(输入密码不显示,直接粘贴原先的初始化密码就行)

service mysql80 start

2.9登录MySQL8.0
因为要同时安装5.7和8.0,所以要选择登录的是哪个目录下的MySQL,8.0的目录是mysql80、端口号是3307。这些内容都是在配置文件中定义的。指定本地IP是使用tcp/ip方式登录,也可以通过指定socket文件的方式登录。
socket本地登录:
/usr/local/mysql80/bin/mysql -S/tmp/mysql80.sock -u root -p

tcp/ip登录:
/usr/local/mysql80/bin/mysql -u root -p -h 127.0.0.1 -P 3307

2.10配置使用mysql80登录:

ln -s /usr/local/mysql80/bin/mysql /usr/bin
mv /usr/bin/mysql /usr/bin/mysql80

2.11查看安装的MySQL版本号以及登录

mysql80 -V
mysql80 -uroot -p -S/tmp/mysql80.sock

修改root用户的密码为:123456
mysql> set password for ‘root’@‘localhost’=‘123456’;
#退出
mysql> exit

2.12允许其他所有机器连接本机MySQL8.0

mysql> use mysql;
mysql> update user set host=’%’ where user=‘root’ and host=‘localhost’; #允许所有机器连接本虚拟机的MySQL
mysql> flush privileges; #刷新权限
mysql> select user,host from user;

安装完成后,检查MySQL5.7 MySQL8.0服务是否启动

[root@node1 software]# ps -ef|grep mysqld|grep -v grep
root 14596 1 0 00:27 pts/0 00:00:00 /bin/sh /usr/local/mysql57//bin/mysqld_safe --datadir=/usr/local/mysql57/data/ --pid-file=/usr/local/mysql57/data/mysqld.pid
mysql 14799 14596 1 00:27 pts/0 00:01:06 /usr/local/mysql57/bin/mysqld --basedir=/usr/local/mysql57/ --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/mysql57//lib/plugin --user=mysql --log-error=/usr/local/mysql57/data/error.log --pid-file=/usr/local/mysql57/data/mysqld.pid --socket=/tmp/mysql57.sock --port=3306
root 15194 1 0 00:31 pts/0 00:00:00 /bin/sh /usr/local/mysql80//bin/mysqld_safe --datadir=/usr/local/mysql80/data/ --pid-file=/usr/local/mysql80/data/mysqld.pid
mysql 15443 15194 4 00:31 pts/0 00:02:50 /usr/local/mysql80/bin/mysqld --basedir=/usr/local/mysql80/ --datadir=/usr/local/mysql80/data --plugin-dir=/usr/local/mysql80//lib/plugin --user=mysql --log-error=/usr/local/mysql80/data/error.log --pid-file=/usr/local/mysql80/data/mysqld.pid --socket=/tmp/mysql80.sock --port=3307

最后修改时间:2024-08-22 18:15:45
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论