多久不用,密码遗忘,那么MySQL在linux上如何修改密码

一.Linux MySQL 查看版本号

二.

1.vim /etc/my.cnf 末尾加skip-grant-tables

2.重启MySQL    service mysqld restart

3.mysql

[root@XXXXXX~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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 mysql.user set authentication_string=password('X新X的X密X码X') where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1
 

补充mysql> update user set password=password(“新密码”) where user=”用户名”;

        针对修改密码有这样的密码,执行后报错  ERROR 1054(42S22) Unknown column 'password' in ‘field list’

        因为5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

 

4. 编辑my.cnf文件删掉skip-grant-tables

5.重启MySQL  service mysqld restart

6.root登录 

[root@XXXXXX~]# mysql -u root -p

 

本意想为用户赋权

mysql> grant all privileges on hive.* to 用户名@localhost identified by '密码';
Query OK, 0 rows affected, 1 warning (0.00 sec)