2015-09-07 19 views
1

連接到本地MySQL服務器當我運行此命令find/-name my.cnf我發現兩個位置的my.cnf無法與Laravel

  • /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 

那麼,可能是什麼問題。 ??請幫忙。 我在這裏問了bind-address not present in my.cnf file - Laravel這個問題3小時之前,但直到現在沒有迴應。

回答

3

首先,

  • 查找使用$ php -i |grep php\.ini指揮系統的的php.ini文件或點擊where can I find the php.ini for php-cli
  • 打開php.ini文件。
  • 而且,確保這些行是否存在。他們之前)此;

    一個)extension=mysql.so b)中extension=pdo_mysql.so

  • 如果是,刪除(。
  • 如果不存在,運行此命令sudo apt-get install php5-mysql

現在,類型php artisan migrate命令。我敢肯定,你會得到錯誤

無法通過套接字現在

連接到本地MySQL服務器,

  • 更改綁定地址從localhost127.0.0.1
  • 運行/opt/lampp/bin/php
  • 運行此如果你得到

「無法加載動態庫」

然後,刪除php_mssql.dll extension(非Windows)

  • 如果沒有得到錯誤後,直接進入Project-Name-Folder/config/database.php文件中添加這個代碼'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, 
], 
0

我覺得你得卸載燈,最好用手動配置安裝mysql和apache2 manualy不要用燈!

0

確保MySQL首先運行(簡單但很好檢查!),並確保運行正確的MySQL安裝(如果您有LAMP安裝以及獨立的MySQL安裝)。

如果您使用localhost進行連接,請嘗試使用127.0.0.1進行連接。這可能會使用TCP/IP連接器而不是套接字 - 只是一種解決方法。