您的位置:首页 > 运维架构 > Linux

修改mysql登录密码--解决能登录linux却不知道mysql密码

2013-10-29 18:00 302 查看
遇到了烂尾机器的时候,能登录linux却不能登录mysql:

mysql -u root

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

mysql -u root -p

error: 'Access denied for user 'root'@'localhost' (using password: YES)'

此时,如果 MySQL 正在运行,首先杀之: killall -TERM mysqld

然后直接启动/usr/bin/mysqld_safe --skip-grant-tables &

此时就可以直接输入mysql登录了,

$ mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, 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.

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update user set password=password("root") where user="root";

Query OK, 4 rows affected (0.68 sec)

Rows matched: 4 Changed: 4 Warnings: 0

mysql> flush privileges

-> ;

Query OK, 0 rows affected (0.00 sec)

mysql>

再次执行killall -TERM mysqld

然后启动 service mysql start

之后 mysql -uroot -p 使用 root就能登录了。

登录之后又报了个错误:

mysql> use mysql

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

,执行SET PASSWORD = PASSWORD('root');后,正常

mysql> SET PASSWORD = PASSWORD('root');

Query OK, 0 rows affected (0.19 sec)

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐