Моя установка MySQL не работает. Как полностью перенастроить его?


20

Вот следующие команды, которые я сделал.

$ 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                     

alm - найди свой mysql.log cat /var/log/mysql.logи отредактируй свой ответ этим файлом ....
hhlp

5
Мне нравится, как ты использовал grep ^ i там. Довольно умный.
Луис Альварадо

Что именно это делает? aptitude - это инструменты для установки.
user4951

@JimThio Вот чтобы найти установленные пакеты, связанные с этим вопросом.
Восстановить Монику - ζ--

Ответы:


16

Перед переустановкой проверьте / 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

sudo dpkg-reconfigure mysql-server-5.1 помог мне, когда я обновился с 11.10 до 12.04. MySQL не запускался, и мне пришлось вручную sudo mysqld
Hanynowsky

7

ОШИБКА 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

1
Это то, что я собирался поставить в качестве ответа. Я уже знаю, что это правильный ответ почти для всех связанных с этим проблем. +1 к тебе, когда я снова получу способность.
Луис Альварадо

спасибо за подробное объяснение! в моем случае, даже если я указал сокет в my.cnf, он не прослушивал его (параметры, показанные в 'ps', пусты и соединение невозможно. Обход проблемы: добавьте 'protocoll = tcp' в раздел клиента в my.cnf, чтобы силой, используя tcp, а не сокет.
Tapper

2

Для последних зрителей:
я столкнулся с подобной ошибкой, когда мне не удалось обновить пакет mysql-server ,, но я обнаружил, что это решило мою проблему . Когда sudo apt-get install -fне работает, попробуйте sudo apt-get purge mysql*. Теперь вы можете переустановить MySQL-сервер.


1
обратите внимание, что не sudo apt-get purge mysqlсохранит ваши базы данных
Нельсон Овало

1

Одна из проблем, с которыми я сталкиваюсь, это знание, с какой версией у меня возникают проблемы. Это была хорошая идея:

$ aptitude search mysql |grep ^i

Но вот что я нашел, было критическим в этом вопросе:

$ apt-get --reinstall install mysql-server-5.x

(где x - версия. Если вы не добавите это, возможно, вы работаете с неверным dpkg.


0

Это сработало для меня

sudo apt purge mysql*
sudo apt autoremove
sudo apt autoclean
sudo apt install mysql-server

Описание

1) Первая команда удаляет все, что связано с MySQL, с их файлами конфигурации.

2) Второй удаляет те пакеты, которые больше не нужны.


Refrences [!]:

1) DigitalOcean

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.