最新的 Centos 里装最新的 MySQL

192 阅读3分钟

昨天工作闲了下来,又是愉快摸鱼的一天(。・∀・)ノ゙。

听说 MySQL 和 Centos 都升级到 8 这个版本了!就冲这个吉利数,也要让二者结合在一起。

我在 Centos 8 下安装了 MySQL 8,以下是操作流程。

安装 MySQL

先登录服务器,然后查询 MySQL 是否安装。

rpm -qa | grep mysql



[root@10-9-155-122 ~]# rpm -qa | grep mysql
mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql80-community-release-el8-1.noarch
mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
[root@10-9-155-122 ~]#

安装需要卸载。

rpm -e packagename

[root@10-9-155-122 etc]# rpm -e mysql-community-release-el7-5.noarch

依次删除安装好的 MySQL。

最后将之前安装好的 MySQL 全部删除。

**注意:**删除的时候不能全选一项后。右击 copy 直接右击 paste,否则报错。

安装 MySQL 8

参考网址:learnku.com/articles/38…

下载 rpm 包。

wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

安装 rpm 包。

yum localinstall mysql80-community-release-el8-1.noarch.rpm

Yum 安装。

yum install mysql-server

检查 MySQL 是否安装成功。

rpm -qa | grep mysql

无密码登录。首次连接 MySQL 无需密码。

mysql -uroot

重置密码。

use mysql; //选择数据库
alter user 'root'@'localhost' identified by 'newpassword'; //修改密码
flush privileges; //刷新权限表
//备注:mysql8.0修改用户密码命令(新的修改方式)

注意,这是 MySQL 8 提供的修改用户密码的命令,其他版本不一样。

重新登录。

mysql -uroot -pnewpassword登录之后看下,用户名和对应的 host。

在 MySQL 这个数据库中使用 select host,user from user;。首次的结果是这样的。

Root 对应的 host 不是 %。% 代表任意的 ip 都可以访问,localhost 代表本地,只能在当前服务器内访问。所以我们要修改 root 对应的 host,便于我们线下开发。

线下连接远程 mysql

排除网路和防火墙问题。使用 ping ip 地址看能否连接网络。

这说明没有问题。

配置防火墙,开启 3306 端口。

# 下面指令可无脑依次执行

# 1.查看防火墙状态 systemctl status firewalld.service

# 2.开启防火墙systemctl start firewalld.service

# 3.开放3000端口firewall-cmd --zone=public --add-port=3000/tcp --permanent

# 4.重启防火墙使新设置生效firewall-cmd --reload

# 5.查看已经打开放的端口firewall-cmd --list-ports

检查开放端口。

firewall-cmd --list-ports

开放 3306 端口。

先使用指令 telnet 192.168.1.211 3306 看能不能连上 3306 端口,连接不成功就需要开放 3306 端口了。

[root@10-9-155-122 ~]# firewall-cmd  --zone=public  --add-port=3306/tcp  --permanent
success
[root@10-9-155-122 ~]# firewall-cmd --list-ports
9090/tcp 80/tcp

注意,端口开放成功但是没有 3306.tcp,原因是我们要回到 uclund 中添加 3306 的规则。

添加之后再进行操作就有了 3306 端口。

开放 root 用的 ip。

#mysql -u root -p
mysql> use mysql;
Database changed
mysql> update user set host=%where user=’root’;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> select host,user from user;

使用 mysql 连接远程 mysqld

在线下本地打开一个终端,前提是安装了 mysql 客户端,否则找不到 mysql 指令。

mysql -h117.75.79.112 -uroot -pnewpassword

这个报错,不建议使用 ssl 连接。

参考文献:www.cnblogs.com/plluoye/p/1…

mysql -h117.75.79.112 -uroot -pnewpassword --ssl-mode=DISABLED

这样,线下本地就连接上了远程数据库 MySQL 了。