mysql 在linux 修改账号密码

1、root用户登录到mysql数据库
代码示例:
/usr/local/mysql/bin/mysql -u root -p (输入密码进入mysql)
2、进入mysql,输入:
代码示例:
use mysql;
3、查看user表的情况
代码示例:
SELECT Host,User FROM user;
//指明主机名称,“%”表示匹配所有字符串
4、
代码示例:
UPDATE user SET Host = '%' WHERE User= 'root' LIMIT 1;
5、输入如下命令让刚才设置的命令生效
代码示例:
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
注意,在mysql 命令行形式下一定要输入";"
按照前面五个步骤完成之后,通过控制台输入:
代码示例:
[root@linux ~]# mysql -h localhost -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
不让这么连接数据库

原因:是因为host对应的user字段是空的,我们需要将其改为root即可

代码示例:
mysql> select host,user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | root |
| 127.0.0.1 | root |
| linux | |
| linux | root |
| localhost | |
+-----------+------+
5 rows in set (0.00 sec)

解决办法一:

代码示例:
mysql> update user set user='root' where host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;

原文地址:https://www.cnblogs.com/zfxJava/p/5659707.html