Deepin15.9安装MySQL5.7.21后更新root密码
2018-10-27 本文已影响0人
ZHOUZAIHUI
Deepin15.9系统中安装完MySQL(5.7.21)之后,利用root用户登录系统时出现以下错误:
~$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
不能利用root用户登录MySQL,可以通过相应的步骤更改root用户密码的方法实现root用户登录。
1 查看MySQL安装时默认用户名和密码
配置文件位置:/etc/mysql/debian.cnf
~$ sudo cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = P2D9ihtXgb5aaWGS
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = P2D9ihtXgb5aaWGS
socket = /var/run/mysqld/mysqld.sock
这其中[client]下user代表的是默认用户名,passwd代表的是默认生成的密码。
2 登录MySQL并更新root用户密码
2.1 登录MySQL
利用上一步中的用户名和密码进行登录MySQL
~$ mysql -u debian-sys-maint -pP2D9ihtXgb5aaWGS
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.21-1 (Debian)
Copyright (c) 2000, 2018, 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>
注意:-p后面跟密码之间是没有空格的。
2.2 更新root用户密码
命令分两步:
步骤一:启用root用户
mysql> update mysql.user set plugin="mysql_native_password" where user="root";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
步骤二:更改root用户密码
mysql> update mysql.user set authentication_string=password('xxxxx') where user='root' and Host = 'localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
3 重启MySQL服务
sudo service mysql restart
4 利用root用户登录MySQL
~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21-1 (Debian)
Copyright (c) 2000, 2018, 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>
参考文献:
1 https://blog.csdn.net/baiguoxiong/article/details/82936890?utm_source=blogxgwz1