linux mysql数据 解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES):

在linux 系统是输入命令: mysql -uroot -p

输入密码后 提示 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES):

说明输入的密码是错误的.

如果忘记密码可以按以下步骤解决:

1.打开my.cnf文件

[root@VM-4-11-centos /]# cd etc

[root@VM-4-11-centos etc]# ls -l | grep my.cnf
-rw-r--r-- 1 root root 1261 Sep 18 18:45 my.cnf
drwxr-xr-x 2 root root 4096 Dec 18 2021 my.cnf.d

[root@VM-4-11-centos etc]# vim my.cnf

文件如下

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

在socket=/var/lib/mysql/mysql.sock 下面增加 skip-grant-tables

修改后文件

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

skip-grant-tables

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

修改配置的方法相当于把你的密码设置为了空

保存退出 :wq

重启mysql服务:

sudo systemctl stop mysqld.service     #停止服务

sudo systemctl start mysqld.service     #启动服务

重新登录mysql

[root@VM-4-11-centos etc]# mysql -uroot -p

这时的密码为空,直接回车就可进入

修改数据库密码

mysql> update mysql.user set authentication_string='这时是新密码' where user='root' and host='localhost';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

修改成功后,退出mySql : 输入命令 quit 或 exit

mysql> quit

使用新密码重新输入就好了.

 

posted @ 2022-09-18 19:19  baivfhpwxf  阅读(496)  评论(0编辑  收藏  举报