全网最细Linux之Centos8安装MySQL8.0以上版本,您值得收藏!


前言

小编博客发布了很多版本MySQL的方式,之所以又发布了一篇关于MySQL的文章,是因为之前小编都用的Docker安装,问什么不用Docker安装呢?

在这里插入图片描述

因为之前小编使用Docker安装的MySQL,有一天服务器突然宕机了,当我重启了一整套服务,发现我数据库全没了,还好没有发生在公司的项目生产上,我花了很大的劲才把数据库全部找回来,所以建议大家在公司,这些重要的数据库之类的服务,最好老老实实一步一步安装,就算出错,文档一搜就是,一大堆,不要搞那些花里胡哨的,该用什么?怎么用?如何用?都要着重选择。

一、安装步骤

1、检查系统是否安装MySQL

rpm -qa|grep mariadb

如果存在mariadb,卸载命令如下:

rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
rpm -qa|grep mysql

如果输出无,则说明此操作系统是干净的,可以安装新的MySQL。
在这里插入图片描述

2、检查操作系统版本

cat /etc/redhat-release

在这里插入图片描述

3、下载并安装 MySQL 官方的 Yum Repository

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

在这里插入图片描述

4、进行repo的安装

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

在这里插入图片描述

安装完成之后,会在这个目录下生产两个文件:

cd /etc/yum.repos.d/

在这里插入图片描述

5、安装MySQL Server

yum install mysql-server

输出如下信息,表示已经安装成功了。

在这里插入图片描述

6、启动MySQL

systemctl start mysqld.service 

查看MySQL运行状态:

systemctl status mysqld.service

在这里插入图片描述
查看mysql进程:

ps -ef|grep mysqld

在这里插入图片描述

7、进入MySQL终端

mysql -uroo -p

第一次安装成功后,没有密码,可以进入到终端,不用输入密码,直接回车。

在这里插入图片描述
此时我们再设置密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

在这里插入图片描述
此时我们再退出去重新登录MySQL.

在这里插入图片描述
此时密码就生效。
在这里插入图片描述
输入正确的密码。回车之后就登录成功了!!!!!!!!!!!!!!!!!!

8、设置远程连接

1、开启防火墙

查看防火墙状态  systemctl status firewalld
开启防火墙      systemctl start firewalld  
关闭防火墙      systemctl stop firewalld

2、开放3306端口

添加指定需要开放的端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=3306/tcp

在这里插入图片描述
以上设置成功后,使用Navcate连接,还是报错,授权的问题。
在这里插入图片描述

2、远程连接授权

进入MySQL终端依次执行以下命令。

进入数据库后,使用mysql数据库

use mysql;

查看用户表

select 'Host','User' from user;

更新root用户;%表示为:允许任何ip都可登录

UPDATE user SET Host= '%' WHERE User= 'root' LIMIT 1;

强制刷新权限

flush privileges;

在这里插入图片描述
再次连接,连接成功。

在这里插入图片描述

二、安装中可能出现的问题

2.1 安装server错误

在这里插入图片描述
原因:

MySQL GPG 密钥已过期。

解决方案:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

之后再执行:

yum install mysql-server

2.2 忘记密码

vi /etc/my.cnf

加入这句命令:

skip-grant-tables

然后重启服务:

systemctl restart mysqld.service

然后登录系统:

use mysql;
FLUSH PRIVILEGES;

先刷新,不然会出现如下错误:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysql@123456';
FLUSH PRIVILEGES;

然后退出,重启服务即可修改密码成功。

总结

以上就是今天要讲的内容,熬夜干货,创作不易,喜欢请关注!!!!!!!!!!!!!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小严

你的鼓励是我创作的源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值