当你的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
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