centos7.8卸载和安装MySQL8

准备工作

1、查看是否安装过mysql

rpm -qa | grep -i mysql

2、如果有安装,则删除mysql

yum -y remove MySQL-*

3、删除所有带mysql的文件夹

find / -name mysql

把出现的文件夹都rm -rf掉

4、删除配置文件

rm -rf /etc/my.cnf

5、删除mysql默认密码

rm -rf /root/.mysql_sercret

删除mysql的默认密码,避免出现如下保存

Access denied for user ‘root@localhost’ (using password:yes)

安装MySQL8

1、配置MySQL8安装源

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2、安装MySQL8

sudo yum --enablerepo=mysql80-community install mysql-community-server

在这里插入图片描述

提示下载包,选y,后面有其他提示都选y
在这里插入图片描述
在这里插入图片描述

配置数据库

1、启动mysql服务

systemctl start mysqld 

2、查看mysql运行状态
在这里插入图片描述

启动成功

3、设置mysql开机启动

systemctl enable mysqld // 设置开机自启
systemctl daemon-reload // 重启systemctl

4、查看mysql生成的随机密码

grep "password" /var/log/mysqld.log

在这里插入图片描述
5、更改密码

  • 登录mysql,输入临时密码
mysql -uroot -p

这里我在虚拟机的登录直接成功了,我之前在阿里云安装的mysql这里登录还会报错,要进一步设置配置文件才能登录,以后有机会再补充

  • 输入命令,修改密码
alter user 'root'@'localhost' identified by 'root';

这里如果密码设置太简单会报不符合策略的错误,密码策略是大小写字母加数字加符号,就先设置一个复杂的密码

在这里插入图片描述

  • 修改密码策略
show variables like 'validate_password.%';

在这里插入图片描述

  • 策略说明(本机学习测试可以修改,服务器上不建议)
-- validate_password.check_user_name 用户名检查,打开的话用户名和密码不能相同,把这个off掉
set global validate_password.check_user_name=off;
-- validate_password.length 最小密码长度,这里最小是8,改成4
set global validate_password.length=4;
-- validate_password.mixed_case_count 
-- validate_password.number_count 
-- validate_password.policy 验证密码的复杂程度,改成0
set global validate_password.policy=0;
-- validate_password.special_char_count

补充,如果重启mysql密码策略会重置

6、配置远程访问,这里用navicat测试
在这里插入图片描述

报2003错误,输入以下命令

use mysql; -- 先选择数据库
grant all privileges on *.* to 'root'@'%' ; -- 向用户授权,但是报错

在这里插入图片描述

修改用户的host值

update user set host='%' where user='root';

在这里插入图片描述

再执行两次授权命令

在这里插入图片描述

因为没刷新所以执行了两次,刷新命令

flush privileges;

此时再次用navicat连接,依然报错2003,查看防火墙

sudo systemctl status firewalld

在这里插入图片描述

如果是个人学习可以用下面命令关闭防火墙

#停止firewall  
systemctl stop firewalld.service  
#禁止firewall开机启动  
systemctl disable firewalld.service

开放防火墙3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent  

命令含义:
–zone #作用域
–add-port=3306/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

重启防火墙,查看开放端口

firewall-cmd --reload
firewall-cmd --list-ports 

# 关闭端口的命令
firewall-cmd --zone=public --remove-port=22/tcp --permanent  

在这里插入图片描述

连接成功

在这里插入图片描述

另外,如果是连接服务器的话,要在服务器的控制台安全组开放相应的端口
具体情况具体分析。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值