1.1 MySQL安装
1.1.1 下载wget命令
yum -y install wget
1.1.2 在线下载mysql安装包
wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
1.1.3 安装MySQL
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
1.1.4 安装mysql服务
首先进入cd /etc/yum.repos.d/目录。
cd /etc/yum.repos.d/
安装MySQL服务(这个过程可能有点慢)
yum -y install mysql-server
linux安装MySQL时报错:
原因:MySQL GPG 密钥已过期导致
解决办法:执行一下命令,解决
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
1.1.5 启动MySQL
systemctl start mysqld
1.2 修改MySQL临时密码
MySQL安装成功后会有一个临时密码,我们可以使用grep命令查看临时密码先登录进去MySQL,然后修改MySQL密码。
grep 'temporary password' /var/log/mysqld.log
1.2.2 使用临时密码先登录
mysql -uroot -p
我的临时密码是:a22XRJ88=+a;
1.2.3 把MySQL的密码校验强度改为低风险
set global validate_password_policy=LOW;
1.2.4 修改MySQL的密码长度
set global validate_password_length=5;
1.2.5 修改MySQL密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin';
1.3 允许远程访问
sudo systemctl disable firewalld
1.3.2 修改MySQL允许任何人连接
1)首先登录MySQL
mysql -uroot -padmin
2)切换到mysql数据
use mysql;
3)查看user表
select Host,User from user;
发现root用户只允许localhost主机登录登录
4)修改为允许任何地址访问
update user set Host='%' where User='root';
5)刷新权限
flush privileges;
1.3.3 使用Navicat连接工具测试
navicat连不上Linux(centos7)中的MySQL的几个原因
1. 主机和虚拟机之间没互相ping通。我就是虚拟机能ping通主机,但是主机ping不通虚拟机。
2. 防火墙没关。
3. 端口号3306没有打开。
4. 登录MySQL之后,用指令select user,host from user;查到toot对应的不是%。
5. navicat里编辑连接时的地址没写对。
CentOS 7 开放3306端口(实现MySQL远程登陆)
一、开放3306端口
1.开启端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
2.重启防火墙
firewall-cmd --reload
3.查看已经开放的端口
firewall-cmd --list-ports
查看 firewalld 状态
systemctl status firewalld
开启 firewalld
systemctl start firewalld