Linux 使用Yum方式安装mysql8.0版本所遇到的坑

  • 先查看是否已安装Mysql:
1. 通过rpm 查看
rpm -qa |grep mysql

2. 通过 yum 来查找
yum search mysql

3.Whereis mysql 来查找
  • 安装wget:
yum -y install wget
  • 获取你想要的mysql版本:
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
  • 安装mysql的rpm包:
yum -y install mysql80-community-release-el7-3.noarch.rpm
  • 安装 MySQL 服务:
yum -y install mysql-community-server

这里可以出现报错,如下图:
请添加图片描述

解决方案: 
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-server
  • 随后启动mysql服务,并查看状态:
systemctl start mysqld.service
systemctl status mysqld.service
  • 随后查看临时密码:
cat /var/log/mysqld.log | grep password
  • 再登录mysql:
mysql -uroot -p
  • 随后再修改root的登录密码:

注意:这里有个坑,就是使用 《ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;》这条命令的话,会报错,如下图请添加图片描述

原因+解决方案:
MySQL 默认安装了validate_password插件,
要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码长度至少为8位
不要用123456这种密码!
  • 然后刷新一下:
flush privileges;
  • 最后我们测试一下:
use mysql;
SHOW VARIABLES;
exit; -- 退出mysql命令界面
  • 防火墙需要将3306端口放行:
 - 查看已放行的端口:
firewall-cmd --list-ports

 - 添加需要放行的端口:
firewall-cmd  --permanent --add-port=3306/tcp
-> 参数说明: 	--zone=public(作用域) 
				--add-port=3306/tcp(端口和访问类型) 
				--permanent(永久生效)
				
 - 重新载入,更新防火墙规则
firewall-cmd --reload

 - 重启防火墙
systemctl restart firewalld.service

注意 : 这样子还不能使用Navcat连接到,解决方案如下:

-- 使用mysql库
use mysql;
 
-- 创建一个用户
create user 'root'@'%' identified by '数据库密码';
 
-- 授权
grant all privileges on *.* to 'root'@'%' with grant option;
 
-- 重新加载以上命令所做的修改
flush privileges;
 
-- 查看是否添加并且授权成功
select User,Host from mysql.user;

请添加图片描述

  • 最后就可以使用Navcat连接了。
  • (看了一些博主的文章,缺胳膊短腿的;搞得我一直不成功,特记录一下!)

版权声明:本文为dian_dian_tou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。