Linux忘记mysql root密码解决方法
一、使用跳过权限检查的方式运行MySQL服务:
要使用跳过权限检查的方式运行MySQL服务,有两种方式:1、在mysql服务的配置文件中添加“skip-grant-tables”选项;2、在启动mysql服务的命令后添加“--skip-grant-tables”选项。下面分别讲述两种方法:
方法一:修改配置文件的方式:
修改mysql服务的配置文件“/etc/my.cnf”(根据你的安装方式不同,路径也可能不同),在“[mysqld]”配置组下添加一行“skip-grant-tables”后保存:
方法二:在启动命令的后添加选项的方式:
在linux终端运行下面命令,停止并重新以“跳过权限检查”的方式运行mysql服务,登录mysql即可不在需要密码:
二、设置新密码:
按上步操作后,在终端运行“mysql -u root”命令,免密码进入mysql的sql命令行,并执行下面SQL语句设置新密码:
三、恢复正常启动方式:
根据第一步的操作不同,选择下面两种方式之一将mysqld服务由“跳过权限检查”模式转换为正常模式,这样就可以使用新设置的密码登录了:
[size=14] 本文介绍的是Linux忘记mysql root密码解决方法,如果是Windows忘记了root密码,可以参考:[/size]Windows忘记mysql root密码解决方法
要使用跳过权限检查的方式运行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密码解决方法