Ubuntu下修改Mysql密码

在Ubuntu下使用命令安装MysqL时会直接安装好,没有初始化root密码,或者在使用MysqL时忘记密码,该如何重置root密码,本篇文章将记录一下这个问题的解决办法。

方法一,该方法只在Ubuntu或者Debian用户下有效。

第一步:输入sudo vim /etc/MysqL/debian.cnf,打开/etc/MysqL/目录下的debian.cnf文件,记住这里的用户名和密码。

第二步:使用改密码登录MysqL

 第三步:选择数据库,使用MysqL

第四步:重置为新的密码,这里分为两个版本

一直使用5.7的命令在8.0的版本中执行,一直报错,感到很诧异,后查找资料后发现,MysqL 5.7.9以后废弃了password字段和password()函数

而且用于表示用户密码的authentication_string字段只能是MysqL加密后的41位字符串密码。因此在修改密码时,5.7版本和8.0版本有所不同,需要使用不同的语句执行,其他版本也有可能不同。

1、MysqL5.7

update user set authentication_string = password(["your new password"]) where user = "your username" [and Host="localhost"];

2、MysqL8.0

(1)检查authentication_string字段是否为空,不为空先置空,我比较懒,我就直接置空了。

use MysqL;
update user set authentication_string='' where user='your username';
ALTER user 'your username'@'localhost' IDENTIFIED BY 'your new password';

(2)如果顺利执行,那么恭喜你已经修改密码成功了,如果报错则执行flush privileges;刷新MysqL的系统权限相关表后再次执行上一步。

方法

第一步:跳过权限验证登录MysqL

(1)编辑MysqLd.cnf 文件

命令行下输入 sudo vim /etc/MysqL/MysqL.conf.d/MysqLd.cnf

然后在配置文件中任意位置输入  skip-grant-tables  ,然后保存退出

(2)然后重新启动MysqL

sudo service MysqL restart

第二步

直接输入输入MysqL进行登录

登录后的操作就与方法一中后续操作一致了。

 

版本说明:

登录进入MysqL,在命令行输入 \s 或者 status

MysqL 版本8.0.28 

Ubuntu版本 20.04.3

 

相关文章

ubuntu退出redis的示例:指定配置文件方式启动源码redis:roo...
ubuntu中mysql改密码忘了的解决方法:1.在终端中切换到root权...
ubuntu安装mysql失败的解决方法原因:可能是原有的MySQL还有...
使用centos和ubuntu建站的区别有以下几点1.CentOS是Linux发行...
ubuntu图形界面和字符界面切换的方法:可以通过快捷键CTRL+A...
ubuntu中重启mysql失败的解决方法1.首先,在ubuntu命令行中,...