Вот следующие команды, которые я сделал.
$ sudo service mysql start
mysql start/running
$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
$ aptitude search mysql |grep ^i
i libapache2-mod-auth-mysql - Module Apache 2 pour l'authentification vi
i libdbd-mysql-perl - Perl5 database interface to the MySQL data
i libmysqlclient16 - MySQL database client library
i mysql-client-5.1 - MySQL database client binaries
i mysql-client-core-5.1 - MySQL database core client binaries
i mysql-common - MySQL database common files, e.g. /etc/mys
i mysql-server-5.1 - MySQL database server binaries and system
i mysql-server-core-5.1 - MySQL database server binaries
i php5-mysql - MySQL module for php5
Перед переустановкой проверьте / var / log / mysql на наличие файлов журналов, которые могут содержать подсказки о том, почему mysql не работает. Если нет журналов, журнал в файл может быть не включен в вашей конфигурации: Настроить журнал ошибок Mysql
Чтобы переустановить любой пакет, проверьте установленную версию с помощью
dpkg -l|grep mysql-server
, затем для версии 5.7 используйте
sudo apt-get install mysql-server-5.7 --reinstall
Если это не позволяет вам перенастроить пакет, вы можете использовать
sudo dpkg-reconfigure mysql-server-5.7
Одной из проблем, с которыми я сталкиваюсь, является знание, с какой версией у меня возникают проблемы. Это была изящная идея:
$ aptitude search mysql |grep ^i
Но вот что я нашел, было критическим в этом вопросе:
$ apt-get --reinstall install mysql-server-5.x
(где x - версия. Если вы не добавите это, Вы могли бы работать с неправильным dpkg.
Для последних зрителей:
Я столкнулся с подобной ошибкой, когда мне не удалось обновить пакет mysql-server ,, но я обнаружил , что это решило мою проблему . Когда sudo apt-get install -f
не работает, попробуйте sudo apt-get purge mysql*
. Теперь вы можете переустановить MySQL-сервер.
ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/ tmp / mysql.sock' (2)
В установках MySQL можно указать, где мы будем есть розетка для локальных подключений. При внесении обновлений нередко появляется ошибка «Не удается подключиться к локальному серверу MySQL через сокет». Давайте посмотрим, как решить эту проблему.
Ошибка выглядит следующим образом:
Mysql-u root-p
Enter password:
ERROR 2002 (HY000): Can not connect to local MySQL server-through socket '/ tmp / mysql.sock' (2)
через ps
мы можем видеть, если указан параметром и место, где это:
# ps -fea | grep mysqld
mysql 17661 14003 1 Feb19 ? 00:24:59 /usr/local/mysql-percona/libexec/mysqld --basedir=/usr/local/mysql-percona --datadir=/var/data/mysql/datadir/data --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log
root 23790 7840 0 09:25 pts/0 00:00:00 grep mysqld
В этом случае мы см. в /var/lib/mysql/mysql.sock
. Если параметр не найден, обратитесь к разделу mysqld в /etc/my.cnf
, чтобы найти параметр:
grep socket /etc/my.cnf
socket=/var/lib/mysql/mysql.sock
Если мы знаем, где он, нам нужно изменить тот же файл (/etc/my.cnf
) и добавить клиент сокета раздела параметров:
[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
Это сработало для меня
sudo apt purge mysql*
sudo apt autoremove
sudo apt autoclean
sudo apt install mysql-server
Описание
1) Первая команда удаляет все, что связано с MySQL, с их файлами конфигурации.
2) Второй удаляет те пакеты, которые больше не нужны.
Ссылки [!]:
1) DigitalOcean