浏览器报错:SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
我用navicat连接数据库成功了,用户名是root,密码是安装mysql时设的密码,框架用的是tp5,
网上找了很多方法都不管用,请问怎么解决?
简单的理解 MySQL-Server
连接的意义。
站在初学者的角度,连接 MySQL-Server
有两种方式:
1. 客户端连接,你所使用的 Navicat 就是客户端连接。
2. API 连接,就是你上面所谓的 `浏览器报错`。
看你的问题,很有可能就是 root@192.168.%.%
这类用户设置了密码,而 root@localhost
没有设置密码。
测试方法,使用 MySQL 命令行客户端进行测试。
$ mysql -uroot -hlocalhost -p
这里需要注意,不要直接 -p 后面接密码,会被 Linux 命令历史记录记录。
如果没有 mysql 命令。你需要进行安装,根据系统的不同,可以使用
$ sudo yum -y install mysql
或者
$ sudo apt-get install mysql
安装 mysql 命令行客户端
或者你可以使用 Navicat 进行查询,看 root@localhost 账户是否有密码
$ SELECT User, Host, Password FROM mysql.user;
对了,你这个问题非常常见,不建议你直接提问,还不如搜索来的直接。
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
1 回答4.1k 阅读✓ 已解决
1 回答12.1k 阅读✓ 已解决
3 回答3.7k 阅读
2 回答1.8k 阅读✓ 已解决
4 回答9.8k 阅读
之前碰到时看到的方法链接:https://bbs.csdn.net/topics/3...