本文介绍: 此时可以选择卸载原有服务重新安装,也可以选择直接使用(如果可用的情况下);刚开始会设置一个临时密码可以通过指令获取,如果获取失败可以跳转本文最后部分。等简单密码失败说明密码规则没有修改成功,过于简单密码不允许设置可以重新登录设置默认编码格式,后续在创建数据库时,如未指定编码,则使用配置文件中的默认编码。为了方便后续使用这里直接密码等级设为最低,如果输入指令报错,可以跳转至。时,随便输入密码或者直接回车,都能正常登录,这是因为。密码,如果想重新启用登录密码验证,直接去除。

个人主页 北 海
🎉所属专栏 MySQL 学习
🎃操作环境 CentOS 7.6 腾讯云远程服务器
🎁软件版本 MySQL 5.7.44

成就一亿技术人



注意 为了避免权限不足的问题建议切换root 用户进行安装

1.MySQL 的清理安装

1.1查看是否存在 MySQL 服务

安装 MySQL 前,需要看看自己服务器是否存在 MySQL 服务,可以使用

ps -ajx | grep mysql*

查询是否相关服务正在运行,如果出现下图所示,就说明存在 MySQL 服务

图示

此时可以选择卸载原有服务重新安装,也可以选择直接使用(如果可用的情况下);但如果服务器中没有 MySQL 相关服务,就可以跟着我的教程安装

1.2.卸载原有服务

首先需要终止正在运行MySQL 服务

systemctl stop mysqld

终止服务后,再次查询 MySQL 服务,如果没有看到,就说明终止成功

图示

备份重要信息(如果之前有人用过 MySQL 的话),没用过就可以跳过这一步

首先是备份 my.cnf 文件,这是 MySQL配置文件,位于 /etc/my.cnf

mkdir ~/TMP
cp /etc/my.cnf ~/TMP/

图示

其次是备份 mysql 这个文件夹里面包含了之前用户操作过的数据库信息

cp -r /var/lib/mysql ~/TMP/

图示
注意 后续安装好后,可以把这两个备份文件(夹)恢复至原来的路径

卸载这些系统安装包

yum remove mysql

1.3.获取官方yum

如果你的系统CentOS 7.6,可以直接通过这个链接下载适用于 CentOS 7.6

否则可以去官方提供的网站中寻找与自己版本匹配yum 源:官方提供的下载网站

后缀.rpm文件下载好后,可以通过文件上传工具文件传至服务器,比如 rz

rz

输入指令后选择下载好的文件上传即可

注:rz一款工具,如果没有的话需要通过 yum 下载,并且需要XShell 中使用

安装 MySQLyum

 rpm -Uvh 下载好的文件名

查看 yum是否成功安装

ls -l /etc/yum.repos.d/

存在两个文件,就证明成功了,安装 yum完成后,可以将这个文件删除

查看 MySQLyum 源是否成功工作

yum list | grep mysql-community*

出现很多 mysql 相关安装包,就证明可以成功工作

1.4.下载 MySQL 服务

yum install -y mysql-community-server

这条指令可能执行失败原因密钥过期,可以使用以下语句更新密钥

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

静待安装完成

1.5.验证是否下载完成

查看 /etc/ 目录下是否存在 my.cnf 配置文件

ls /etc/my.cnf

查看是否存在 MySQL 存放数据目录

ls /var/lib/mysql

注:只要 mysql 这个目录存在就行了


2.MySQL 的配置启动

2.1.启动服务

通过指令启动 MySQL 服务,MySQL 默认使用的端口3306启动之前要确保 3306 端口处于开启状态

图示

systemctl start mysqld

图示

2.2.登录 MySQL

登录 MySQL 默认是需要密码当前版本MySQL 刚开始会设置一个临时密码,可以通过指令获取,如果获取失败,可以跳转本文最后一部分 [3.2无法登录 MySQL]

获取临时密码

grep 'temporary password' /var/log/mysqld.log

注意 获取临时密码的前提是 MySQL 服务已经启动

获取临时密码后,就可以登录 MySQL

mysql -u root -p

回车后,输入 临时密码,如果登录失败,可跳转[3.2无法登录 MySQL]

注意: MySQL 中默认只有 root 用户,所以需要root 身份登录

出现此页面证明登录成功,可以进行密码修改
图示

2.3.修改密码

注意: MySQL 中输入的语句都要以 ; 结尾表示输入语句结束

为了方便后续使用,这里直接把密码等级设为最低,如果输入指令报错,可以跳转[3.3.无法修改密码规则]

修改密码强度(可以单纯为数字

set global validate_password_policy=0;

修改密码最小长度

set global validate_password_length=1;

修改当前用户 root 的登录密码,其中的 localhost 表示只允许登录主机本地;如果设置 123456简单密码失败,说明是密码规则没有修改成功,过于简单的密码不允许设置,可以重新登录 MySQL重复上面的步骤

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

刷新权限MySQL 中有很多权限概念,现在可以先不用

FLUSH PRIVILEGES;

修改完成后,可以使用新密码登录 MySQL

注:输入 quit 退出 MySQL

2.4.修改配置文件

MySQL 服务启动时,会先从配置文件读取配置信息比如 端口号文件存储位置存储引擎配置文件 my.cnf 位于 /etc/ 目录中,首先打开配置文件

vim /etc/my.cnf

设置端口号3306,也可以根据自己需求进行设置

port=3306

设置数据库文件存储路径,默认为 /var/lib/mysql

datadir=/var/lib/mysql

设置默认编码格式,后续在创建数据库时,如未指定编码,则使用配置文件中的默认编码

character-set-server=utf8

设置默认存储引擎,一般都是使用 InnoDB,因为它支持 索引事务特性

default-storage-engine=innodb


如果无法退出 vim,可以尝试 wq! 强行保存退出

设置完配置文件后,都需要重启 MySQL 服务,确保配置信息及时更新

systemctl restart mysqld

接下来就可以尝试使用 MySQL


3.可能遇到问题

下面是一些常见问题

3.1.无法通过 yum 下载

通过 yum 下载 MySQL提示

Failing package is: mysql-community-client-5.7.44-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

这是因为密钥过期了,更新密钥后重新下载就行了

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

3.2.无法登录 MySQL

如果无法登录 MySQL(即便是密码忘记了),可以直接修改配置文件

打开 my.cnf

vim /etc/my.cnf

在文件末尾加上以下语句

skip-grant-tables

添加完成后,保存退出然后重启 MySQL 服务

systemctl restart mysqld

此时再次登录 MySQL 时,随便输入密码或者直接回车,都能正常登录,这是因为 跳过了密码验证

进入 MySQL 后可以手动修改 root 密码,如果想重新启用登录时密码验证,直接去除 my.cnf 中的 skip-grant-tables 就行了

3.3.无法退出 MySQL

MySQL 客户端本质就是一个进程,可以直接通过 ctrl + d 发送信号终止进程,这种退出方式常用客户端卡死的情况

键盘键入 ctrl + d

也可以输入 quit 退出客户端

quit

像这种命令MySQL 中输入时,可以不用; 号,这是一种正常退出的方式

3.4.无法修改密码规则

问题描述输入修改密码规则相关语句报错

报错描述

ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
或者
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'

报错原因当前MySQL 中缺少相关变量

查询相关变量结果为空

show variables like 'validate_password%';

图示

解决方法在配置文件中添加相关环境变量

打开 my.cnf

vim /etc/my.cnf

在配置文件的末尾加上以下语句

plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT

图示

添加完成后,重启 MySQL 服务

systemctl restart mysqld

重启完成后,重新登录 MySQL,输入语句查看密码规则相关变量信息,能显示信息就证明问题已经解决

show variables like 'validate_password%';

图示

接下来输入语句修改密码规则

set global validate_password_policy=0;
set global validate_password_length=1;

可以看到已经修改成功了,问题解决

原文地址:https://blog.csdn.net/weixin_61437787/article/details/134105001

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_49778.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注