Linux忘记mysql root密码解决方法

一、使用跳过权限检查的方式运行MySQL服务:
  要使用跳过权限检查的方式运行MySQL服务,有两种方式:1、在mysql服务的配置文件中添加“skip-grant-tables”选项;2、在启动mysql服务的命令后添加“--skip-grant-tables”选项。下面分别讲述两种方法:
 
方法一:修改配置文件的方式:
  修改mysql服务的配置文件“/etc/my.cnf”(根据你的安装方式不同,路径也可能不同),在“[mysqld]”配置组下添加一行“skip-grant-tables”后保存:
[mysqld]
...爱E族..aiezu.com..省略N行...
skip-grant-tables
保存后,重启“mysqld”服务,这时登录mysql就不再需要密码了。
 
方法二:在启动命令的后添加选项的方式:
  在linux终端运行下面命令,停止并重新以“跳过权限检查”的方式运行mysql服务,登录mysql即可不在需要密码:
/etc/init.d/mysql stop
/etc/init.d/mysql start --mysqld --skip-grant-tables

二、设置新密码:
  按上步操作后,在终端运行“mysql -u root”命令,免密码进入mysql的sql命令行,并执行下面SQL语句设置新密码:
use mysql;
--将root密码设置为“aiezu.com”
update user set password=PASSWORD("aiezu.com") where user='root';
flush privileges
  注意:在“skip-grant-tables”模式下,不要尝试使用“mysqladmin password”命令修改密码,否则将会报如下错误:
[root@aiezu.com ~]# mysqladmin password
New password: 
Confirm new password: 
mysqladmin: 
You cannot use 'password' command as mysqld runs
 with grant tables disabled (was started with --skip-grant-tables).
Use: "mysqladmin flush-privileges password '*'" instead
 
三、恢复正常启动方式:
  根据第一步的操作不同,选择下面两种方式之一将mysqld服务由“跳过权限检查”模式转换为正常模式,这样就可以使用新设置的密码登录了: 
  • 在“my.cnf”配置文件中去掉“skip-grant-tables”,并重启“mysqld”服务;
  • 停止mysqld服务,并再启动mysqld服务(去掉“--skip-grant-tables”选项)
 
 
[size=14]  本文介绍的是Linux忘记mysql root密码解决方法,如果是Windows忘记了root密码,可以参考:[/size]Windows忘记mysql root密码解决方法

0 个评论

要回复文章请先登录注册