Manjaro Linux: я не могу запустить Mariadb, потому что отсутствует сокет

Ну, у меня Manjaro / Linux 17.0, и я пытался установить MariaDB, но всегда получаю одну и ту же ошибку:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory")

Я не знаю, что делать, я ищу в тысячах форумов, не могу запустить демон мариад с systemctl, я попытался сделать прикосновение в /run/mysqld/mysqld.sock, но затем он отказался от моего соединения когда я попытался запустить mariadb, и я попытался удалить / переустановить MariaDB, но это то же самое:(

Во всех моих каталогах я не могу найти mysql.sock или аналогичный.

Помоги мне, пожалуйста!

2 ответа

У меня была та же самая проблема, решение, которое работало для меня, является https://serverfault.com/a/813123, я только что убрал:

sudo rm /var/lib/mysql/*

затем инициализировал базу данных:

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Кажется, что может быть разница между тем, что сервер использует в качестве сокета, и тем, что клиент считает сокетом.

Вы можете проверить список процессов (ps -ef | grep mysql) и посмотрите, работает ли сервер с настройкой сокета, отличной от ожидаемой. (Ищу --socket=.)

Отредактируйте свой /etc/my.cnf найти или сделать [client-server] раздел и установить socket в файл, который имеет смысл. Он должен находиться в каталоге, к которому у пользователей есть доступ. Настройка по умолчанию socket=/tmp/mysql.sock так что это должна быть безопасная ставка. Затем удалите любой другой socket установка в другом месте в /etc/my.cnf или файлы в /etc/my.cnf.d/ каталог. Затем перезапустите, и это должно работать.

Также проверьте, есть ли у вас личный конфигурационный файл ~/.my.cnf поищите там настройки сокета и, если так, удалите их.

Для справки см. Запись сокета в КБ MariaDB. Кроме того, взгляните на полный список мест, где могут храниться конфигурационные файлы MariaDB.

Другие вопросы по тегам