华为云服务器如何安装多个数据库

由于我的项目对数据库版本有限制,需要在先前安装5.7的基础上再安装一个8.0.28版本的数据库。

安装5.7版本数据库的过程:华为云服务器部署mysql_瓜是西瓜的瓜的博客-CSDN博客

1、安装前准备

服务器版本:CentOS 7

将/etc/selinux/config里的SELINUX设置成:disabled

命令:vim /etc/selinux/config

华为云服务器如何安装多个数据库_第1张图片

下载mysql: MySQL :: Download MySQL Community Server (Archived Versions) 

解压并移动到文件夹中重命名,我下载到的是 .xz 文件,因此需要使用 tar -xf xxx.xz 命令去解压

因为已有5.7版本数据库,因此将数据库命名为“mysql80”进行区分

 在MySQL安装目录下创建存储数据库数据的新目录data/:华为云服务器如何安装多个数据库_第2张图片

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

cd /usr/local/mysql80/

vim my.cnf

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、修改sql.server

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

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

修改内容:

……
basedir=/usr/local/mysql80
datadir=/usr/local/mysql80/data
……
lockdir='/var/lock/subsys'
lock_file_path="$lockdir/mysql80"
……
mysqld_pid_file_path=/usr/local/mysql80/data/mysqld.pid
……
conf=/usr/local/mysql80/my.cnf
……

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

(若先前未将5.7版本的文件修改为mysql57,建议先重命名再复制,或者先将5.7的sql.server文件重命名再复制8.0版本的文件)

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

mv /etc/init.d/mysql.server /etc/init.d/mysql80

3、初始化mysql

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

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

华为云服务器如何安装多个数据库_第3张图片

初始密码一定要记住咯 

不慎遗忘的话,需要重新初始化:

找到datadir目录进入,cd /usr/local/mysql/data/mysql/     删除所有,重新初始化,生成新的临时密码。

初始化完成后,mysql8.0就相当于安装完成了

4、启动MySQL8.0

输入密码不显示,直接粘贴原先的初始化密码就行,5.7和8.0类似:

service mysql80 start

5、登录MySQL8.0

因为要同时安装5.7和8.0,所以要选择登录的是哪个目录下的MySQL,8.0的目录是mysql80、端口号是3307。

这些内容都是在配置文件中定义的。

指定本地IP是使用tcp/ip方式登录,也可以通过指定socket文件的方式登录。

1)socket本地登录:

#/usr/local/mysql80/bin/mysql -S/tmp/mysql80.sock -u root -p 

2)tcp/ip登录:

#/usr/local/mysql80/bin/mysql -u root -p -h 127.0.0.1 -P 3307

3)修改配置文件直接登录:

        系统默认在 /usr/bin 目录下查找命令,所以在 /usr/bin 目录下给 mysql80 的启动程序设置一个软链接(类似Windows的快捷方式),再将软链接的名称改一下,/usr/bin/目录下8.0的mysql软链接名字改成mysql80,方便区分5.7和8.0。

#建立软连接

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

#重命名mysql文件夹

mv /usr/bin/mysql /usr/bin/mysql80

#测试一下,查看安装的MySQL版本号

mysql80 -V

登录(输入密码不显示,直接粘贴原先的初始化密码回车就行)

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

6、修改root用户密码:

#更改root用户的默认密码为333333

mysql> set password for 'root'@'localhost'='333333';

#退出

mysql> exit

7、开放远程连接:

允许其他所有机器连接本机MySQL8.0,这样物理机的Navicat就可以连接虚拟机的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;

root用户的host修改完毕之后就可以使用Navicat正常连接使用mysql了。

具体的Navicat连接过程不明白的话可以参考我的另一篇文章:华为云服务器部署mysql_瓜是西瓜的瓜的博客-CSDN博客

第8部分,使用本地Navicat连接数据库

你可能感兴趣的:(华为云服务器部署实录,数据库,华为云,linux,服务器,mysql)