Когда я запускаю эту команду 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» не находится внутри «run folder»)
I have a `mysql.sock` file inside /opt/lampp/var/mysql/mysql.sock
Итак, в чем может быть проблема. ?? Пожалуйста помоги.
Я задал вопрос здесь bind-адрес отсутствует в файле my.cnf — Laravel 3 часа назад, но до сих пор нет ответа.
Прежде всего,
$ php -i |grep php\.ini
команда ИЛИ нажмите где я могу найти php.ini для php-cli.И убедитесь, что эти строки присутствуют или нет.
а) extension=mysql.so
б)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
(для не окон)
'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,
],
Я думаю, что вы должны удалить лампу, лучше использовать ручную настройку, установить mysql и apache2 вручную, не используйте лампу!
Убедитесь, что MySQL запускается первым (это просто, но хорошо проверить!), И убедитесь, что выполняется правильная установка MySQL (если у вас установлена LAMP, а также установлена автономная установка MySQL).
Если вы подключаетесь с помощью localhost
попробуйте подключиться используя 127.0.0.1
, Это может использовать разъем TCP / IP вместо сокета — просто обходной путь.