我在亚马逊网络服务上设置了 RDS 和 EC2。RDS 在一个安全组中,而 EC2 在另一个安全组中。EC2 安全组接受来自任何位置的 http、https 和 ssh 流量(尽管我尝试将其设置为所有流量),而 RDS 安全组接受来自其自身和 EC2 安全组的所有入站流量。
我在 EC2 上有一些 php 文件,其中
$server = $_SERVER['DB_SERVER'];
$username = $_SERVER['DB_USERNAME'];
$password = $_SERVER['DB_PASSWORD'];
$database = $_SERVER['DB_DATABASE'];
$connection = new mysqli($server, $username, $password, $database);
echo $connection->connect_error;
其中 DB_SERVER 等在 /var/www/inc/dbinfo.inc 中的 dbinfo.inc 中列出,根据本教程:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateWebServer。 html
这给出了响应“没有这样的文件或目录”,我被告知这是因为找不到 mysql.sock 文件。
在 /etc/my.cnf 我有:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
*bunch of comments*
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
但/var/lib/mysql(或/var/lib/mysql/mysql)中不存在mysql.sock
跑步
find . mysql.sock
和
find . mysqld.sock
都给出“没有这样的文件或目录”
谢谢你的帮助