千家信息网

Linux下mysql忘记管理员密码的解决方法

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,当你的mysql管理员密码忘记了,怎么办? 来看看下面 在开启mysql服务的适时候,使用--skip-grant-tables 参数跳过权限检查启动mysql [root@potato Deskto
千家信息网最后更新 2025年01月22日Linux下mysql忘记管理员密码的解决方法当你的mysql管理员密码忘记了,怎么办? 来看看下面 在开启mysql服务的适时候,使用--skip-grant-tables 参数跳过权限检查启动mysql [root@potato Desktop]# mysqld_safe --skip-grant-tables 161209 00:01:29 mysqld_safe Logging to '/data/mysql/mytest_3306/data/error.log'. 161209 00:01:29 mysqld_safe Starting mysqld daemon with databases from /data/mysql/mytest_3306/data 直接mysql就可以登陆(ps:登陆进去就拥有管理员权限) [root@potato Desktop]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.34-log Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 开始改密码,不过这里有个地方要注意 若是直接用set的方式改密码,会报错,因为使用了--skip-grant-table,所以没办法用 root@localhost:mysql.sock 00:02:17 [(none)]>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root'); ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 所以只能直接改mysql.user权限表了 root@localhost:mysql.sock 00:05:52 [(none)]>use mysql Database changed root@localhost:mysql.sock 00:06:10 [mysql]> UPDATE user SET password = password ('root') where user = 'root'; Query OK, 0 rows affected (0.05 sec) Rows matched: 1 Changed: 0 Warnings: 0 修改完毕便关闭服务 root@localhost:mysql.sock 00:06:16 [mysql]>quit Bye [root@potato Desktop]# mysqladmin shutdown 然后正常启动mysql服务,再用修改后的密码登陆 [root@potato Desktop]# mysqld_safe [root@potato Desktop]# mysql -uroot -proot Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.34-log Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
root@localhost:mysql.sock 00:08:32 [(none)]>
看,已经成功登陆进去了 ps:mysql管理员忘记密码后,是不是再也不用担心了???
0