![Php 脚本无法连接到 MySQL(Vagrant VM)](https://linux22.com/image/1203814/Php%20%E8%84%9A%E6%9C%AC%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%20MySQL%EF%BC%88Vagrant%20VM%EF%BC%89.png)
我需要一个 php 脚本来连接 mysql 数据库的帮助。
我已经安装虚拟盒和流浪汉并设置一个 Ubuntu 16.04 服务器。在服务器上我安装了阿帕奇2,php7.0和玛丽亚数据库。
我已经创建了 mysql 的第二个用户(除了 root 用户),并且我可以使用 root 用户和新用户在命令行上连接到 mysql。
我在服务器上上传了一个小型测试应用程序,一切顺利,直到应用程序需要连接到数据库。我收到以下错误消息:
“无法连接到 MySql:拒绝用户‘Lucian’@‘localhost’访问(使用密码:是)”
在 mysql 级别我有两个用户:根和卢西安。我可以从命令行连接到它们两者。用户lucian@localhost是用户根据公钥/私钥对从 Vagrant 通过 ssh 登录到服务器时使用的。
脚本似乎正在尝试使用 vagrant 用户连接到 mysql。还有一件事是,如果我尝试在终端中使用命令进行连接mysql-p 命令我收到了类似的错误消息(即使我使用了 root 用户的密码)。我尝试从 PHPStorm 建立连接,但也失败了。php 脚本如下:
<?php DEFINE('DB_USER', 'lucian'); DEFINE('DB_PASSWORD', 'xxx'); DEFINE('DB_HOST', '127.0.0.1'); DEFINE('DB_NAME', 'portal');
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to MySql: '. mysqli_connect_error() );
令我困惑的是,为什么脚本(位于服务器上)没有使用从命令行运行的正确凭据? 任何帮助都非常感谢!谢谢!