Моя установка 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. Досить розумний.
Луїс Альварадо

Що саме це робить? здатність - це інструменти встановлення.
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-переконфігуруйте mysql-server-5.1 зробив трюк для мене, коли я модернізував з 11.10 до 12.04 я не стартував би mysqld, і я був змушений вручну 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', порожні і підключення неможливе. сила, використовуючи tcp, а не розетку
Tapper

2

Для останніх глядачів:
я прийшов до подібної помилки, коли мені не вдалося оновити пакет mysql-сервера ,, але я виявив, що це вирішило мою проблему . Коли 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) Другий видаляє ті пакунки, які вже не потрібні.


Відгуки [!]:

1) DigitalOcean

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.