mysql数据库问题———登录进去无法操作显示You must reset your password using ALTER USER statement before executing this statement

linux操作mysql数据库,可以登陆进去,但是操作所有命令都显示You must reset your password using ALTER USER statement before executing this statement,并且使用alter修改密码时,显示密码不符合权限

很多方法都没用,也不知道出了什么问题,我选择利用跳过密码登录后再次修改密码

解决过程:

1、编辑/etc/my.cnf

在[mysqld] 配置部分添加一行

skip-grant-tables
 

2、保存后重启mysql

[root@localhost etc]# service mysqld restart
Shutting down MySQL.                                       [  OK  ]
Starting MySQL.                                                   [  OK  ]

3、登录数据库重新设置root密码


[root@localhost ~]# mysql -uroot -p mysql
Enter password:

直接回车进入


Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.47-log Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

成功进入,此时使用如下语句修改密码

UPDATE mysql.user SET authentication_string=PASSWORD('密码') where USER='root';

退出修改原来修改的文件,删除 /etc/my.cnf文件中添加的“skip-grant-tables”行,重启mysql;

用新设的密码就能正常登录了;

修改成功后,exit退出使用 mysql -uroot -p  命令  输入密码进入数据库,可以操作,

猜你喜欢

转载自www.cnblogs.com/blogofbin/p/11656348.html