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.