mysql初始密码忘了MySQL忘记密码怎么办两招重置密码mysql重置密码




mysql初始密码忘了MySQL忘记密码怎么办两招重置密码mysql重置密码

2022-07-20 21:28:40 网络知识 官方管理员

MySQL忘记了密码怎么办?不用慌,下面的两个方案轻松修改root密码!

mysql初始密码忘了(MySQL忘记密码怎么办两招重置密码)(1)

1、使用init-file

在Unix/Linux系统上,启动MySQLServer之前可以指定init-file,当MySQLServer启动时就会先执行init-file中的内容,可以在其中编写修改root密码的语句,从而实现重置root密码的目的。

1、停止MySQLServer

$systemctlstopmysqld$ps-ef|grepmysqld

2、建立init-file,并编码修改密码的语句

$touch/var/lib/mysql/mysql-init-password

在mysql-init-password中增加以下语句

ALTERUSER'root'@'localhost'IDENTIFIEDBY'NEWPASSWORD';

限制mysql-init-password只对mysql用户可读

$sudochmod400/var/lib/mysql/mysql-init-password$sudochownmysql:mysql/var/lib/mysql/mysql-init-password

3、使用init-file重启MySQLServer

$sudo-umysql/usr/sbin/mysqld--daemonize--pid-file=/var/run/mysqld/mysqld.pid--user=mysql--init-file=/var/lib/mysql/mysql-init-password

4、查看启动日志

查看MySQLServer启动日志,一般是/var/log/mysqld.log,如果执行init-file成功,一般会存在Executionofinit_file...Started/Ended的日志。

5、验证密码修改的有效性

$mysql-uroot-p'NEWPASSWORD'

6、删除init-file

删除init-file或者不带init-file参数重启MySQLServer,否则root密码会在每次启动时修改。

$sudorm-rf/var/lib/mysql/mysql-init-password

2、使用--skip-grant-tables

--skip-grant-tables启动可选项的功能时启动后忽略加载授权表,这样子一来就跳过了root的身份认证连接数据库,然后再使用命令修改root密码,重启MySQLServer恢复服务。

由于使用了--skip-grant-tables以后任何客户端都可以不通过密码连接服务器有一定的风险,所以MySQL8.0.3开始,使用--skip-grant-tables的同时会自动启用--skip-networking,不允许远程连接。

1、停止MySQLServer

$systemctlstopmysqld$ps-ef|grepmysqld

2、使用--skip-grant-tables启动MySQLServer

$sudo-umysql/usr/sbin/mysqld--daemonize--pid-file=/var/run/mysqld/mysqld.pid--user=mysql--skip-grant-tables

3、无需密码连接到MySQLServer

$mysql-uroot

4、加载授权表并修改密码

$touch/var/lib/mysql/mysql-init-password0

5、修改root密码

ALTERUSER'root'@'localhost'IDENTIFIEDBY'NEWPASSWORD';

6、验证密码修改的有效性

$mysql-uroot-p'NEWPASSWORD'

7、重启MySQLServer

$systemctlstopmysqld$ps-ef|grepmysqld$systemctlstartmysqld


发表评论:

最近发表
网站分类
标签列表