600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Linux系统下MySQL数据库的超级管理员root的密码忘记/忘记密码怎么办?

Linux系统下MySQL数据库的超级管理员root的密码忘记/忘记密码怎么办?

时间:2018-09-08 23:27:29

相关推荐

Linux系统下MySQL数据库的超级管理员root的密码忘记/忘记密码怎么办?

文章目录

方法一方法二方法三

方法一

1.添加登录跳过权限检查配置

修改/etc/f文件,在 [mysqld] 配置节点添加skip-grant-tables配置

[mysqld]skip-grant-tables

2.重新启动mysql服务

service mysqld restart

3.修改密码

添加登录跳过权限检查配置后,在终端用 mysql 命令登录时不需要用户密码,然后选择三种修改密码的方式中的任意一种修改密码即可。

注意:mysql库的user表,MySQL 5.7 以下版本密码字段为password,MySQL 5.7 以上版本密码字段为authentication_string

4.还原登录权限跳过检查配置

/etc/f[mysqld]节点的skip-grant-tables配置删除,然后重新启动服务即可。

特别注意:MySQL的配置文件/etc/f中配置skip-grant-tables,会导致无法远程登录数据库,所以修改好密码之后,必须将skip-grant-tables注释掉。

方法二

停止数据库服务:

[root@htlwk0001host ~]# systemctl stop mysqld.service

进入到 MySQL 的 bin 目录下:

cd /usr/local/mysql/bin/

切换成 root 用户身份:

sudo su

切换成功后输入以下命令来禁止 MySQL 验证功能:

./mysqld_safe --skip-grant-tables &

回车后 MySQL 会自动重启,那么在当前会话中可以无需密码登录 MySQL。

然后选择三种修改密码的方式中的任意一种修改密码即可。

我的操作系统是:CentOS Linux release 8.2. (Core) ,MySQL版本是:mysql Ver 8.0.26 for Linux on x86_64 (Source distribution),MySQL命令目录是:/usr/bin/,在该目录下没有指令mysqld_safe。

方法三

先停止数据库服务:

[root@htlwk0001host ~]# systemctl stop mysqld.service

接着以“无需验证”方式启动数据库服务:

[root@htlwk0001host ~]# mysqld --skip-grant-tables

然后再打开另一个会话窗口,直接输入 mysql 就可以登录了:

[root@htlwk0001host ~]# mysql

然后选择三种修改密码的方式中的任意一种修改密码即可。

修改完密码之后,要关闭 mysqld 进程,macOS 就打开活动监视器,Windows 就打开任务管理器,将 mysqld 进程关闭,再重新以正常方式启动数据库服务,输入账号和密码登录数据库。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。