前言:

本文章主要介绍centos7安装mysql8数据库,并使用Navicat进行运程可视化连接。
简单介绍centos8(阿里云服务器)安装mysql数据库,因为它比centos7简单啊。。。

一,centos7MySQL安装

1,首先需要下载官方yum源

清理下缓存:yum clean all
下载:wget [https://repo.mysql.com/mysql80-community-release-el7.rpm](https://repo.mysql.com/mysql80-community-release-el7.rpm)
若wget命令不识别则先执行:yum -y install wget
image.png

2,安装yum源

yum -y install mysql80-community-release-el7.rpm
若遇到下面的情况执行:rm -f /var/run/yum.pid后重复上一步。
image.png

3.安装mysql服务

安装MySQL服务(这个过程可能有点慢,几百多M呢)
yum -y install mysql-community-server
image.png

二,centos8安装mysql

源文件下载就直接是默认8的版本
dnf -y install mysql-server

三. centos7,8配置mysql服务

1,先开启mysql,初次开启费点时间。

systemctl start mysqld

2,查看登录密码

初始化数据库的时候会为root设置一个默认密码,这个密码在mysqld.log文件中可以找到。
因为centos版本不同文件路径会有所不同,可以用find /var -name mysqld.log命令查看路径。
(1)centos7有随机密码,要查看密码:
grep 'temporary password' /var/log/mysqld.log
image.png
复制下来既可。后面会更改。
(2)centos8下载的mysql没有密码,回车既可
也可以运行下命令:grep 'temporary password' /var/log/mysql/mysqld.log
是没有回显的。
image.png

3,登录数据库修改配置。

登录数据库:mysql -u root -p输入密码,centos8回车既可。

(1) 修改密码

刚进去必须先修改密码,但密码的要求很高有大小写数字,还有标点符号,可以通过一下命令降低要求

  1. set global validate_password.policy=0;
  2. set global validate_password.length=4;

然后执行修改密码的命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';``<br />

(2)添加远程连接

依次执行下面命令

  1. use mysql;
  2. update user set host='%' where user='root';
  3. GRANT ALL ON *.* TO 'root'@'%';

若遇到 下图黄线那样报错:You are not allowed to create a user with GRANT
再重新执行一遍命令既可。
image.png

(3)修改密码加密方式

这个暂不修改,若连接不上再修改,或者下载新的工具:
链接:https://pan.baidu.com/s/1zzEtzPaGJHuy53hkVW3lZQ
提取码:ym1o
因为后面要连接Navicat,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。否则更新工具
ALTER USER ``'root'``@``'%'`` IDENTIFIED WITH mysql_native_password BY ``**'密码';**
image.png
完成所有操作后,执行
flush privileges;刷新权限

四,重启数据库,尝试连接。

1,ctrl+D退出数据库,重启数据库:

systemctl restart mysqld

2,查看ip地址

若是虚拟机Linux,连接前要保证电脑能够ping通Linux的。阿里服务器只要ip地址正确那肯定可以的。
若不行,参考文章:传送门1,自己搭建的网站
image.png

3,打开Navicat,端口默认3306.

image.png
这样就行了。若连接失败继续往下看。

4,Navicat连接centos7失败

image.png
大多数远程连接失败的原因是防火墙没有配置好。
测试下关闭放火墙
systemctl stop firewalld.service
再重新连接,会连接成功,那肯定是防火墙的原因了
配置防火墙

  1. 开启服务器:systemctl start firewalld.service
  2. 添加进站规则:firewall-cmd --zone=public --add-port=3306/tcp --permanent
  3. 重启防火墙:systemctl restart firewalld.service

image.png
然后就连接成功了。
image.png

5,Navicat连接centos8(阿里服务器)失败

阿里服务器比我们虚拟机多了一层防火墙。
重复4中的命令。然后登录阿里云官网,进入控制台->实例->安全组,点击配置规则。
image.png
手动添加保存。
image.png
连接成功。
image.png
参考文章:
https://blog.csdn.net/weixin_34501666/article/details/113121693
https://blog.csdn.net/zhangbinlong/article/details/109777234
修改密码