1、下载MySQL
# 通过Linux命令行下载并解压
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
2、移除MariaDB相关文件
MariaDB也是一种数据库,是MySQL数据库的分支,为了避免与MySQL冲突,需要先移除MariaDB相关文件。
yum list installed | grep mariadb | awk '{print $1}' | xargs yum erase -y
3、安装MySQL文件
MySQL数据库文件之间具有依赖,需要按照顺序来安装对应文件。
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
# 查看已经安装的MySQL相关的文件
rpm -qa | grep mysql
3、启动MySQl服务
rpm -qa | grep mysql
service start mysqld
# 在CentOS中,也可以用以下命令启动MySQL服务
systemctl start mysqld.service
# 查看MySQL端口使用情况
netstat -ntlp | grep mysql # 3306端口是MySQL默认端口,有3306端口就说明服务已启动。
# 查看mysqld进程
pgrep mysqld
4、连接MySQL
# 第一次登陆MySQL需要密码,首先查看默认密码
grep 'temporary password' /var/log/mysqld.log
# 复制到默认密码后登陆MySQL
mysql -u root -p
# 修改密码强度策略,根据自己的需求更改
set global validate_password_policy=low; # 默认强度是medium,改为low
set global validate_password_length=6; # 默认密码长度是8,改为6
alter user 'root'@'localhost' identified by '123456';
5、设置远程连接权限
# 授予root用户权限
grant all on *.* to 'root'@'%' identified by '123456' with grant option;
# *.*表示所有数据库以及所有的表;%表示允许所有的IP地址
flush privileges;
# ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 如果遇到上方错误,请先修改密码强度策略,然后再次授权
set global validate_password_policy=low; # 默认强度是medium,改为low
set global validate_password_length=6; # 默认密码长度是8,改为6
6、开放MySQL端口
# 查看防火墙状态
systemctl status firewalld
# 如果是云服务器不要忘记去云控制台打开3306端口
# 如果没有显示active,则需要打开防火墙
systemctl start firewalld
# 开放3306端口
firewall-cmd --list-ports=3306/tcp --permanent
# 重启firewall使开放端口生效
firewall-cmd --reload
systemctl restart firewalld
# 查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
然后就可以使用Navicat连接Linux的MySQL数据库了。