Проблемы с установкой mysql в Ubuntu 18.04 - PullRequest
0 голосов
/ 02 мая 2018

Я установил mysql с момента обновления операционной системы. Но, похоже, проблема с паролем root. Я пытался исправить это разными способами в Интернете, но пока это не увенчалось успехом.

systemctl status mysql.service предоставить:

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-05-02 16:57:24 +07; 13s ago
  Process: 6172 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=217/USER)
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Service hold-off time  over, scheduling restart.
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Scheduled restart job,  restart counter is at 5.
Thg 5 02 16:57:24 thiennguyen systemd[1]: Stopped MySQL Community Server.
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Start request repeated too quickly
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Failed with result 'exit-code'.
Thg 5 02 16:57:24 thiennguyen systemd[1]: Failed to start MySQL Community Server

journalctl -xe дают: http://codepad.org/6EbGVu2Q

mysql_secure_installation дай:

Securing the MySQL server deployment.
Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

mysql -u root -p дают:

Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Особенно, когда я устанавливаю, mysql не требует установки пароля для root, и я переустанавливал много раз. Возможно, проблема старая, но я нашел много способов в сети, но не могу ее решить, так что ждите помощи.

Ответы [ 6 ]

0 голосов
/ 12 июня 2019

После установки просто:

  1. sudo mysql
    

    (да, нет пользователя, нет пропуска)

  2. Теперь вы находитесь в консоли mysql:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_pass';
    
  3. FLUSH PRIVILEGES;

  4. Вот и все. Теперь вы можете войти в консоль в следующий раз, как обычно:

    mysql -u root -p my_new_pass
    
0 голосов
/ 16 февраля 2019

У меня также было много проблем с MySQL и MariaDB (Ubuntu 18.04). Я не мог заставить MariaDB работать. Я оба использовал инструкции на Как принудительно удалить MySQL и MariaDB из Ubuntu 16.04, без `apt-get` и` dpkg`?

$ dpkg --list|grep -i mysql 

и

$ dpkg --list|grep -i mariadb

$ dpkg -remove --force-remove-reinstreq <package-list>

Затем установил MySQL, как описано в https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/

Теперь работает хорошо, даже после перезагрузки. Не знаю, почему это решение не так широко распространено!

0 голосов
/ 03 января 2019

Последние 24 часа я пытался избавиться от этих ошибок и перейти с 16.04 на 18.04 с той же базой данных, но ни одна из всех просмотренных мной веб-страниц мне не помогла. Это был ад.

Попытка systemctl status mysql.service и journalctl -xe была тупиком - никаких подсказок.

Но ошибка:

Не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)

приводит меня к пониманию, что mysql-сервер 18.04 имеет несколько иную структуру. Во время установки я много раз видел файл вроде: / etc / mysql / FROZEN.

И только я глубоко прочитал это и понял, что моя ошибка исходила из разных версий MySQL. В нем говорилось, что я инициировал понижение версии (с mysql-server-5.7 до mysql-server-5.6), несмотря на то, что был уверен, что не сделал этого, так как устанавливал mysql-server-5.7.

Единственное решение, которое работало для меня, было: удаление всех файлов (и баз данных) из / var / lib / mysql вручную и переустановка mysql-server и mysql-client

Я скопировал их в другое место, но потом не смог их восстановить. Итак, проблема была в базах данных, что не могло быть перенесено. И я также не смог найти mysql-server-5.6 для Ubuntu 18.04 (я читал, что какой-то парень сделал это вручную, скомпилировав). К счастью, это было сделано на тестовом сервере, поэтому ничего ценного не было потеряно. Но в любом случае, в следующий раз я создам резервную копию MySQL до переноса версии Ubuntu и выполню чистую установку вместо того, чтобы пытаться удерживать существующие базы данных .

0 голосов
/ 07 июня 2018

Технически неверный ответ, помеченный как правильный. Ubuntu 18.04 использует сокеты для авторизации, а не пароли!

(https://websiteforstudents.com/mariadb-installed-without-password-prompts-for-root-on-ubuntu-17-10-18-04-beta/)

Для меня вход в систему был прост:

sudo  mysql -u root      

Я чувствую, что тот, кто несет ответственность за эту "особенность", действительно бросил мяч Должно было появиться сообщение о том, что Ubuntu больше не использует пароли при попытке запустить mysql. это было действительно радикальное изменение в функциональности.

0 голосов
/ 30 мая 2018

Мне известно об этой проблеме, и при использовании 16.04 ее никогда не было. И в 18.04 я просто попытался использовать его для разрешения.

sudo mysql_secure_installation

В этом случае я могу установить свой пароль, но он не работает

И этот код не решает проблему.

UPDATE user SET password=PASSWORD('NEW_PASSWORD') WHERE user='root';
0 голосов
/ 07 мая 2018

Вы должны изменить старый пароль MySQL во время безопасной установки. Если вы не помните старый пароль, попробуйте выполнить следующие действия с правами root: -

Остановите службу MySQL.

service mysql stop

Запустите MySQL без проверки пароля и разрешений.

mysqld_safe --skip-grant-tables &

Подключение к MySQL

mysql -u root mysql

Выполните следующие команды, чтобы установить новый пароль для пользователя root.

UPDATE user SET password=PASSWORD('NEW_PASSWORD') WHERE user='root';
FLUSH PRIVILEGES;
service mysql restart
...