Невозможно подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock'
Я только что установил appache, MySQL и PHP, чтобы убедиться в своей установке, меня попросили ввести пароль пользователя root для MySQL, но когда я запускаю MySQL, появляется сообщение об ошибке, и я просто не могу найти способ обойти это, большинство Решения, которые я прочитал, не решают проблему, более того, я обнаружил, что путь /var/run/mysqld даже не существует, моему php также нужен сокет для подключения к моей базе данных.
3 ответа
После проверки правильности /etc/mysql/my.cnf (port=3306, bind-address=127.0.0.1) У меня все еще были проблемы. Я тогда получил /var/run/mysqld/mysqld.sock автоматически путем установки mysql-сервера:
$ sudo apt-get install mysql-server-5.5
Затем я попытался запустить сервер mysql, как сказал thefourtheye, но все равно получил ту же ошибку, что и при попытке запустить mysql через $ mysql -u root,
Наконец, я нашел похожее обсуждение на форумах по Ubuntu, которое, наконец, исправило это для меня.
Вот единственная часть ссылки, которую я нашел, мне нужно было сделать:
$ sudo service mysql stop
$ sudo /etc/init.d/apparmor reload
$ sudo service mysql start
Тогда я смог начать MySQL с $ mysql -u root -p, используя пароль, который я установил при установке mysql-server-5.5
sudo service mysql start
Выполните эту команду, чтобы запустить сервер MySQL.
Однажды я столкнулся с тем же сообщением об ошибке после обновления MySQL. В моем случае это было вызвано неверной опцией конфигурации.
Опция –skip-locking устарел в MySQL 5.1 и удален в MySQL 5.5. Вам придется использовать –skip-external-locking вместо.
Так что проверьте, есть ли в вашей конфигурации строка
skip-locking
в [mysqld] раздел. Если это так, измените его на
skip-external-locking
Не забудьте перезагрузить сервер.