【今日小记】 宝塔数据库的管理密码错误问题解决方案

在我们使用宝塔面板的过程中,有可能遇到过这种情况,新增数据库时出现数据库管理密码错误这个问题,我在找问题的过程中发现了一个不太常见的问题,那就是root用户丢失了。


查看root用户是否丢失可以在MySQL里面查看,

use mysql;
select user,host from user;

如果user表里面没有root用户,则root用户已经丢失了

我们可以在登录MySQL的时候,用root用户登录,会发现登录不上,这时候我们可以先跳过登录步骤,直接进去数据库,具体做法是:

1、找到一个名为my.cnf的配置文件,一般存放于/etc下

vim /etc/my.cnf

在【mysqld】下面添加一个跳过登录的权限

skip-grand-tables

然后重启MySQL服务

systemctl restart mysqld

重启之后在终端直接输入mysql

这时候就可以直接进去MySQL了,然后可以手动添加root用户

insert into user(User,authentication_string,ssl_cipher,x509_issuer,x509_subject) values('root','','','','');

为root用户添加权限

update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';commit;

注意,如果我们的数据库要可以被外界访问,要把Host='localhost'改层Host='%'

 

这时候数据库里面已经有root用户了,密码还没有设置,在设置密码之前,把一开始添加的skip-grand-tables 注释掉,重启服务

service mysql restart

重新登录

mysql

use mysql;
alter user 'root'@'localhost' identified with mysql_native_password by 'root@12345'; 

by后面设置为自己的密码

然后刷新

flush privileges;

大功造成!

posted @ 2022-02-23 15:23  小李不背锅  阅读(1184)  评论(0编辑  收藏  举报