2015-09-07 34 views
2

运行此命令'php artisan migrate'时,出现此错误“couldn't connect to local MYSQL server through socket”。 enter image description heremy.cnf文件中不存在绑定地址 - Laravel

我正在经历所有的stackoverflow答案,我有很多建议说'改变绑定地址:本地主机到127.0.0.1'。

我输入了这个命令'find/-name my.cnf',并得到了两个'my.cnf'文件的位置。

  • /opt/lampp/etc/my.cnf
  • /etc/mysql/my.cnf

我已经混乱..我哪个文件进行编辑。哪一条是正确的路径?

而且,在我的“my.cnf”文件中,不存在“bind-address”。 如果我手动写入,那么在my.cnf文件中写入“bind-address”的位置?或者,我可以在任何地方写入该文件。

这里是 '的my.cnf' 文件

# The following options will be passed to all MySQL clients 
[client] 
#password = your_password 
port  = 3306 
socket  = /opt/lampp/var/mysql/mysql.sock 

# Here follows entries for some specific programs 

# The MySQL server 
[mysqld] 
user = mysql 
port=3306 
socket  = /opt/lampp/var/mysql/mysql.sock 
skip-external-locking 
key_buffer = 16M 
max_allowed_packet = 1M 
table_open_cache = 64 
sort_buffer_size = 512K 
net_buffer_length = 8K 
read_buffer_size = 256K 
read_rnd_buffer_size = 512K 
myisam_sort_buffer_size = 8M 

# Where do all the plugins live 
plugin_dir = /opt/lampp/lib/mysql/plugin/ 

请帮助我。

回答

1

的建议,我在"Project-Folder-Name/config/database.php"所做的更改。而且,它的工作。 新增'unix_socket' => '/opt/lampp/var/mysql/mysql.sock',

'mysql' => [ 
      'driver' => 'mysql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'DatabaseName'), 
      'username' => env('DB_USERNAME', 'root'), 
      'password' => env('DB_PASSWORD', ''), 
     'unix_socket' => '/opt/lampp/var/mysql/mysql.sock', //Your sock got from above 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
     ], 
0

验证你的mysql服务是running..try到

mysql service start or mysql service restart 

或者你可以检出一些这里给出Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

+0

是啊,我的MySQL服务运行的绑定地址非常精细 –

+0

,你可以将其添加下面myisam_sort_buffer_size停止并做变化时启动mysql服务。 – JLPuro

+0

是的。我做到了。但是,同样的问题。任何想法,如何纠正它。 –