【今日小记】 宝塔数据库的管理密码错误问题解决方案
在我们使用宝塔面板的过程中,有可能遇到过这种情况,新增数据库时出现数据库管理密码错误这个问题,我在找问题的过程中发现了一个不太常见的问题,那就是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;
大功造成!
本文来自博客园,作者:小李不背锅,转载请注明原文链接:https://www.cnblogs.com/lishilin-glut/p/15927532.html