原因分析

使用的环境:用的宝塔面板、thinkPHP的源码,按照教程写的导入数据库、修改数据库连接配置后,运行代码报错:1045-Accessdenied for user‘root‘@‘localhost‘ (using password: YES)。

报错原因分析,自行排除:

第一种:导入的数据库文件没成功

第二种:数据库连接配置账号、密码、地址写错了

第三种:宝塔面板数据库权限的问题

第四种:权限问题mysql服务未启动

第五种:远程链接被拒绝,访问不了数据库

解决方法

导入的数据库文件没成功:

这种错误我真的遇到过,用的低版本的phpmyadmin导入的数据库SQL文件就出错,高版本的就没问题。低版本的可能某些语法不支持,导入的数据库不完整,推荐使用phpmyadmin5.2。

数据库连接配置账号、密码、地址写错了:这种错误就需要你仔细对了,只要填错了数据库信息,当然就连接不上了。

宝塔面板权限问题:

没遇到过,网上看到的,不能宝塔的自带修改root密码,要进入到phpmyadmin管理员权限的账号修改,然后重启mysql就可以了,这种错误应该也是权限的原因导致的。

mysql服务未启动:

访问不了数据库:这种错误也应该是权限导致的,net start mysql无法启动mysql服务。

重启MySQL服务器。

登录mysql,键入mysql –uroot –p;直接回车(Enter)进入数据库。

执行“use mysql;”使用mysql数据库。

执行,

1

updateusersetpassword=PASSWORD(“rootadmin”)whereuser=‘root’;”

(修改root的密码,rootadmin记得改成自己的密码)。

打开MySQL目录下的my.ini文件,删除“skip-grant-tables”,保存并关闭文件。

重启MySQL服务。

再次登录即可。

远程链接被拒绝:

如果远程链接数据库需要开启权限,如果没有,数据库地址可以用“127.0.0.1”或者“localhost”