MySQL的安装与密码重置

MySQL的安装与密码重置

所有文章不设限,我们相遇偶然,相散坦然,互不打扰,各自安好,向阳而生

检查环境中是否存在残留

rpm -qa | grep mysql	#检查是否安装过MySQL
rpm -qa | grep mariadb 		#检查是否存在 mariadb 数据库
rpm -e --nodeps + 检查出的数据库名称

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fAz4u78X-1682762217945)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429170530510.png)]

安装MySQL

下载MySQL源

curl -O  https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lUaokFiV-1682762217948)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429170758982.png)]

安装MySQL

yum install mysql57-community-release-el7-11.noarch.rpm -y  #静默安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aR4mZMYu-1682762217949)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429170958325.png)]

检查所需软件包是否安装完毕

yum repolist enabled | grep "mysql.*-community.*"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FeMzMn6s-1682762217950)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429171123165.png)]

可见,所有主要依赖包都已经下载完毕

安装mysql-community-server

yum install mysql-community-server -y

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oZWmUCyT-1682762217950)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429171801421.png)]

一切看似很顺利,但是后面报错
在这里插入图片描述
此处呢,我们就需要引入公共秘钥

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

到此处我们就已经安装成功了

再检查一下

yum list installed mysql-*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jlmumiLT-1682762217952)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429172343770.png)]

启动MySQL

systemctl start mysqld		#启动MySQL
systemctl enable mysqld		#设置开机自启
systemctl status mysqld		#查看状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UbzOg5dJ-1682762217953)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429172542422.png)]

密码修改

查看默认密码

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tSmHcD1D-1682762217954)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429172711296.png)]

修改密码

注:默认的密码复杂度为 MEDIUM,所以新密码至少为8位,并且必须包含大、小写字母、数字和特殊字符,如果不符合就会报错

mysql -uroot -p

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QSA0teOk-1682762217955)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429172844861.png)]

红色框等待处输入默认密码

修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'wanghui@Coder';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'wanghui1201@Coder';
Query OK, 0 rows affected (0.00 sec)
mysql>

第一次报错,就是因为密码强度不符合

授权远程登录

mysql> grant all privileges on *.* to 'root' @'%' identified by 'wanghui1201@Coder';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>

以下是MySQL授权远程登录中的一些参数解释:

  • CREATE USER:用于创建新用户的MySQL命令。
  • ‘user’@‘%’:这是用户的身份及其来源的表示法。在这里,“user”是新用户的用户名,“%”表示该用户可以从任何IP地址连接到MySQL服务器。您还可以使用特定的IP地址或主机名来限制用户的连接来源。
  • IDENTIFIED BY:用于设置新用户的密码。
  • GRANT ALL PRIVILEGES:授予新用户可以执行所有操作的访问权限。
  • ON database_name.*:这指定要授予权限的数据库和表(这里为数据库“database_name”中的所有表)。
  • TO ‘user’@‘%’:指定要授予权限的用户和来源(这里为新用户,“%”表示他可以从任何IP地址连接)。
  • FLUSH PRIVILEGES:用于刷新MySQL系统表中的权限信息,以便更改生效。

忘记密码后不需要重装进行密码重置

在这里我们新建数据库demo1作为辅助验证

mysql> create database demo1;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo1              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql>

修改配置文件

首先用vim进一下配置文件:/etc/my.cof

vim /etc/my.cof

添加一下skip-grant-tables

这行的意思就是设置空密码登录,没办法呀,密码忘记了只能出此下策

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DSKiFBA7-1682762217956)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429174303702.png)]

重启MySQL

 systemctl  restart mysqld

免密登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FQR9imPe-1682762217956)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429174434571.png)]

直接回车就可以了

修改密码

改密码首先要进入默认库 use mysql;

mysql> use mysql;
Database changed
mysql>  UPDATE user SET Password= Password ('root') WHERE user='root';
ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
mysql>

发现报错,原因字段没有对上


mysql> UPDATE mysql.user SET authentication_string=PASSWORD('root') WHERE User='root';
Query OK, 2 rows affected, 1 warning (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 1

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql>

解释:

如果在执行UPDATE user SET password= Password ('root') WHERE user='root';命令时,MySQL返回错误1054,这通常是因为MySQL的用户表发生了变化。您可以使用以下命令代替:

UPDATE mysql.user SET authentication_string=PASSWORD('root') WHERE User='root';

执行此操作后,您可能还需要运行以下命令,以确保系统表中的缓存被刷新:

FLUSH PRIVILEGES;

这应该会将root用户的密码更改为“root”。请注意,建议在生产环境中使用更强密码保护。

恢复配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ChuDvmsT-1682762217957)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429175303766.png)]

重启MySQL登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2IGRI3gE-1682762217958)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230429175423582.png)]

这次输入修改后的密码,最后发现数据依旧,物是人非,哈哈哈哈

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IT小辉同学

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值