原因分析
使用的环境:用的宝塔面板、thinkPHP的源码,按照教程写的导入数据库、修改数据库连接配置后,运行代码报错:1045-Access denied 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数据库。
执行,
“update user set password=PASSWORD(“rootadmin”) where user=‘root’;”
(修改root的密码,rootadmin记得改成自己的密码)。
打开MySQL目录下的my.ini文件,删除“skip-grant-tables”,保存并关闭文件。
重启MySQL服务。
再次登录即可。
远程链接被拒绝:
如果远程链接数据库需要开启权限,如果没有,数据库地址可以用“127.0.0.1”或者“localhost”