xampp,php和mysqld.sock

时间:2014-05-21 21:50:49

标签: php apache xampp

我正在尝试设置一个laravel应用程序。该应用程序已设置,但当我尝试运行迁移以创建表时,我收到以下错误:

[PDOException]                                                               
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '  
/var/run/mysqld/mysqld.sock' (2)

现在我在ubuntu上运行xampp。我不确定为什么在这个目录中搜索。当我运行我的phpinfo时,它告诉我mysqld.sock位于:/opt/lampp/var/mysql/mysql.sock。

我不确定php_cli模块是否从不同的ini文件或类似内容中读取。有没有人有过这个问题的经验,或者有任何想法指出我正确的方向?

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为错误是套接字文件。你在哪里安装你的xampp?

你能试试吗,

mysql -u root -p --socket = / opt / xampp / var / mysql / mysql.sock

其中opt是您的安装目录。选择选择安装目录。

编辑:或者如果您不想在mysql命令中使用socket参数,可以尝试

ln -s /opt/xampp/var/mysql/mysql.sock /var/run/mysql/mysqld.sock

感谢。

https://stackoverflow.com/a/20535780

答案 1 :(得分:0)

在 MacOS 中:

步骤 1:转到您的 Finder 并按照以下路径编辑文件。 /Applications/XAMPP/xamppfiles/etc/my.cnf

第2步:打开文件,找到[mysqld]部分 添加一行如下 innodb_force_recovery = 1 ,并保存。

第 3 步:在终端中运行命令 sudo /Applications/XAMPP/bin/mysql.server start 等到一切正常。

第四步:再次编辑my.cnf,去掉刚刚添加的那一行 innodb_force_recovery = 1 ,并保存。

第五步:停止重启 sudo /Applications/XAMPP/bin/mysql.server stop 等到一切正常。

请注意,如果您没有通过这一步,您的所有表格都将是只读的。

步骤 6:打开 XAMPP Manager 并单击“开始”按钮再次启动 MySQL 数据库 进度状态将显示“正在运行”。

注意:此问题将在您重新启动 Mac OS X 后再次出现。因此,您必须再次重复这些步骤。请记住,这是变通的解决方案。

Source