MySql_忘记了root密码怎么办
《MySql_忘记了root密码怎么办》
在忘记root密码的时候,可以按以下步骤处理(以windows为例)。
_1) 关闭正在运行的MySQL服务。
_2) 打开DOS窗口,转到mysql\bin目录。
_3) 输入mysqld –skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
_4) 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
_5) 输入mysql回车,如果成功,将出现MySQL提示符 `>` 。
_6) 连接权限数据库: `use mysql;` 。
_7) 改密码: `update user set password=password('123456') where user='root';`(别忘了最后加分号) 。
_8) 刷新权限(必须步骤): `flush privileges;` 。
_9) 退出 `quit` 。
_10) 注销系统,再进入,使用用户名root和刚才设置的新密码123456登录。
[补充] 修改密码:
UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='root';
[补充] 刷新权限: `FLUSH PRIVILEGES;` 。
[补充] 使用命令行启动MySql服务:
net start mysql
[补充] 使用命令行连接MySql(若更改了端口号(即不是默认的3306),则命令行要加上端口号的选项):
mysql -u root -p
mysql -P 3309 -u root -p
mysql -h 127.0.0.1 -P 3309 -u root -p
[补充] 退出: `quit` 。
[补充] 启动服务的提示信息: `本地计算机上的MySQL服务启动后停止。` 。
分析:查询错误日志文件(如SC-202505131749.err)看到了信息 `[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist` 。
参考解决办法:执行命令 `mysqld --initialize-insecure` 。
[补充] 连接服务的提示信息: `ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)` 。
分析:是不是 \"MySql服务配置文件配置的端口号不是默认的3306"/ ?若不是,则使用的命令行中要加上端口号的选项。