当我运行此命令find / -name my.cnf
时,我找到了my.cnf
/opt/lampp/etc/my.cnf
/etc/mysql/my.cnf
我不知道MySQL服务器使用哪一个?
而且,当我运行命令php artisan migrate
时,我收到此错误
[PDOException]
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '
/var/run/mysqld/mysqld.sock' (2)
您可以非常清楚地看到显示/var/run/mysqld/mysqld.sock
的错误路径(实际上,在我的系统/桌面中。“运行文件夹”中没有文件夹名称“mysqld”)
I have a `mysql.sock` file inside /opt/lampp/var/mysql/mysql.sock
那么,问题是什么呢。 ??请帮忙。 我在3小时之前在bind-address not present in my.cnf file - Laravel询问了这个问题,但直到现在才回复。
答案 0 :(得分:3)
首先,
$ php -i |grep php\.ini
命令在系统中查找 php.ini 文件或点击where can I find the php.ini for php-cli。并确保这些行是否存在。
a)extension=mysql.so
b)extension=pdo_mysql.so
sudo apt-get install php5-mysql
现在,输入php artisan migrate
命令。我相信你会得到错误
无法通过套接字连接到本地MYSQL服务器
现在,
localhost
更改为127.0.0.1
/opt/lampp/bin/php
。 “无法加载动态库”
然后,删除php_mssql.dll extension
(对于非Windows)
'unix_socket' => '/opt/lampp/var/mysql/mysql.sock'
,找到mysql.sock
的完整路径,然后添加
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'danishLara'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => '/opt/lampp/var/mysql/mysql.sock', //Add this line here
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
答案 1 :(得分:0)
我认为你必须卸下灯泡,最好使用手动配置安装mysql和apache2 manualy不要使用灯泡!
答案 2 :(得分:0)
确保MySQL首先运行(简单但很好检查!),并确保正在运行正确的MySQL安装(如果您安装了LAMP以及独立的MySQL安装)。
如果您使用localhost
进行连接,请尝试使用127.0.0.1
进行连接。这可能使用TCP / IP连接器而不是套接字 - 只是一种解决方法。