我不是在使用Laravel的Homestead,而是使用手动方法。
然而,即使我已经通过自制软件安装了mysql,我似乎无法让Laravel mysql迁移工作......
我收到很多错误,其中包含:
[PDOException] SQLSTATE [HY000] [2002]拒绝连接
和
ERROR 2002(HY000):无法通过socket'/tmp/mysql.sock'连接到本地MySQL服务器(2)
经过多方面的研究,我找到了答案。请参阅下面的解决方案!
答案 0 :(得分:2)
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
我不知道原因,但默认选择错误的主机。
如果这仍然无效,您可能已经设置了密码,在这种情况下,您需要在命令中添加-p
:mysql -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项目文件夹中,将有一个.env
文件。打开它并查看内部,并搜索以下部分:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
即使我没有通过宅基地安装Laravel,它仍然拥有所有的家园'设置......以下是您需要更改的内容:
DB_HOST
是否设置为127.0.0.1
DB_DATABASE
设置为您创建的my_db
。在这种情况下DB_USERNAME
root
或尝试DB_PASSWORD
。php artisan migrate
设置为您最初选择的MySQL密码。你已经完成了。尝试再次打开终端,转到Laravel项目文件夹和TensorFlowLinearClassifier
。