这个是我本地实验的时候的报错,截图.
问题是这样的:
我在虚拟机上用phpstudy搭建了一个web平台,想从物理机访问mysql,发现了一直提示密码错误,在虚拟机本地登陆mysql是正常的,说明密码是正确的,然后根据报错信息搜了一下,发现问题.
原文地址为:https://blog.csdn.net/eric_sunah/article/details/18567091
原因是mysql默认的mysql数据库中的user表里,限制了root用户只能从localhost主机登陆,可以理解这是mysql的安全机制.
处理方法就很简单,把user表里root的对应的登陆限制为localhost改一下就行.
mysql> use mysql; Database changed mysql> update user set host = '%' where user = 'root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | root | | localhost | mysql.session | | localhost | mysql.sys | +-----------+---------------+ 3 rows in set (0.00 sec)
改成%意思是任意主机都可以登陆root用户,注意在公网环境的安全因素.