在本地手动设置MySQL以运行Laravel工匠迁移(没有宅基地)ERROR 2002(HY000)

时间:2016-06-28 08:47:31

标签: mysql laravel homebrew homestead

我不是在使用Laravel的Homestead,而是使用手动方法。

然而,即使我已经通过自制软件安装了mysql,我似乎无法让Laravel mysql迁移工作......

我收到很多错误,其中包含:

  

[PDOException]   SQLSTATE [HY000] [2002]拒绝连接

  

ERROR 2002(HY000):无法通过socket'/tmp/mysql.sock'连接到本地MySQL服务器(2)

经过多方面的研究,我找到了答案。请参阅下面的解决方案!

1 个答案:

答案 0 :(得分:2)

①检查mysql是否已正确安装并设置。

brew info mysql

如果没有安装,请谷歌了解如何通过自制软件安装' mysql'。 如果已安装请不要忘记设置您的mysql ,方法是做自制软件告诉您:

We've installed your MySQL database without a root password. To secure it run:
    mysql_secure_installation

To connect run:
    mysql -uroot

To have launchd start mysql now and restart at login:
  brew services start mysql
Or, if you don't want/need a background service you can just run:
  mysql.server start

在您的终端上执行上述所有操作。如果您遇到错误,请先检查您的mysql服务器是否正在运行:

mysql.server start

然后尝试mysql_secure_installation和/或mysql -uroot尝试进入。

  

ERROR 2002(HY000):无法通过socket' /tmp/mysql.sock'连接到本地MySQL服务器; (2)

如果出现此错误,请尝试:mysql -uroot -h 127.0.0.1我不知道原因,但默认选择错误的主机。

如果这仍然无效,您可能已经设置了密码,在这种情况下,您需要在命令中添加-pmysql -uroot -h 127.0.0.1 -p

即使失败也许是一个许可问题。尝试:

sudo chown -R _mysql:mysql /usr/local/var/mysql
sudo mysql.server start

如果你得到了正确的话:太棒了!让我们创建我们的第一个数据库。

②创建您将使用的数据库。

因此,如果您没有使用Laravel Homestead,您必须先创建数据库。一旦你通过上面的命令进入你的mysql,它现在应该在终端中说: mysql>

然后只需编写:CREATE DATABASE my_db;,您可以在其中写下任何名称而不是my_db。那就是它!

③设置Laravel设置。

在Laravel项目文件夹中,将有一个.env文件。打开它并查看内部,并搜索以下部分:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

即使我没有通过宅基地安装Laravel,它仍然拥有所有的家园'设置......以下是您需要更改的内容:

  1. 检查DB_HOST是否设置为127.0.0.1
  2. DB_DATABASE设置为您创建的my_db。在这种情况下DB_USERNAME
  3. 设置首选root或尝试DB_PASSWORD
  4. 当您通过自制软件设置mysql时,将php artisan migrate设置为您最初选择的MySQL密码。
  5. ④完成

    你已经完成了。尝试再次打开终端,转到Laravel项目文件夹和TensorFlowLinearClassifier