可能只是因为我没有这方面的经验,但我在Apache运行时下载了MySQL,并且我在PHP文件中使用以下代码:
public static $connection = NULL;
private static $host = MYSQL_HOST;
private static $username = MYSQL_USER;
private static $passwd = MYSQL_PASS;
private static $db = MYSQL_DBNAME;
public static function init() {
if(!self::$connection) {
self::$connection = new mysqli(self::$host, self::$username, self::$passwd, self::$db);
}
}
当我在Firefox中打开它时会出现这种情况:
trying to connect via unix:///var/mysql/mysql.sock (says this doesn't exist—which, it doesn't)
我将'MYSQL_HOST替换为'localhost',MYSQL_USER同时包含'mysql'和'root'(愚蠢,是),MYSQL_PASS包含我的系统密码和NULL,MYSQL_DBNAME包含更多内容(我无法找到)即使使用MySQLWorkbench,我的数据库名称也被调用了......两天前我开始学习整个计算领域。它确实说我的机器上运行的是MySQL服务器,只是不确定如何将lego放在一起。大多数设置都是默认设置(端口3306等)。通过MySQLWorkBench进行的测试数据库迁移失败(与正确读取行数没有关系),但从我看到的情况来看,它很好,很花哨。
非常欢迎任何帮助!
答案 0 :(得分:1)
当您指定localhost
作为主机名时,您的计算机将尝试使用/var/mysql/mysql.sock
中的套接字访问MySQL服务器。由于该文件不存在,这将不起作用。但是,当您将127.0.0.1
指定为主机名时,将通过TCP / IP设置MySQL连接。
因此,答案是找到定义MYSQL_HOST
的位置并将其更改为127.0.0.1
,或忘记MYSQL_HOST
,然后输入127.0.0.1
。如果您想将站点移动到其他位置(服务器),后者更难维护。
答案 1 :(得分:0)
尝试重新启动SQL Server。这可能会重新创建丢失的.sock文件。有关重新启动的信息,请参阅此处:http://theos.in/desktop-linux/tip-that-matters/how-do-i-restart-mysql-server/