错误详情:
在宝塔创建数据库、备份数据库、修改权限、甚至是删除数据库,都会提示数据库管理密码错误!
错误详情截图:
报错原因:
易站管理员在使用navicat链接数据库的时候由于不能远程连接,便修改了host的值为%,之后navicat可以正常连接了,参考文章:
Navicat 远程链接报错:1130 - Host "XX.XX.XX.XX" is not allowed to connect to this MySQL server
但是却发现宝塔里面不能对数据库做任何操作了,只能登录数据库,不能修改之类。
于是我也就在网上趴了一大圈,然后发现都是复制粘贴的一个方法,还是相信某些博主测试了一下,发现根本不管用,那么这里也简单说一下,其他博主的办法把,给大家参考。
网上传的错误方法1:
进入宝塔重置root数据库密码,然后重启mysql数据库,亲测根本不管用,我的数据库版本是mysql5.7
网上传的错误方法2:
使用下面命令修改数据库密码,进行下面一些列的命令操作,然后发现根本执行不下去报错更多。
1.首先就是给my.cnf配置文件加上 skip-grant-table免密登录配置。
2.然后就是登录数据库命令:mysql -u root -p
3.然后运行数据库修改密码命令:mysql> set password for root@localhost = password('新密码');
然后你就会发现报错:
ERROR 1133 (42000): Can't find any matching row in the user table
大概意思就是无法找到localhost这个Host值的意思。
好了废话不多说,我只说表达,某些博主,发布经验之类的文章,不要可信度都没有,就直接搬砖过去了,真的会浪费大家很多时间去踩坑。
下面直接上亲测解决办法:
1.登录到宝塔的后台,找到数据库,打开PhpMyAdmin。
2.以数据库root的账号密码登录。
3.找到数据库mysql
4.打开编辑表user,将 用户名root中的host原来的值%,修改为localhost
5.到宝塔后台重启mysql数据库。
6.再次尝试创建数据库,修改权限,备份数据库之类的操作不会报错:数据库管理密码错误!
7.问题解决
通过数据库直接修改Host的一个值,这个办法是最简单有效的。
大家也可以尝试使用命令修改,或者通过已经登录的navicta修改,但是本人亲测都会报错如下内容:
ERROR 1396 (HY000): Operation RENAME USER failed for 'root'@'%'