Проблемы с установкой mysql в Ubuntu 18.04

3

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

Статус systemctl: 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, и я переустанавливал много раз. Может быть, проблема старая, но я нашел много способов в сети, но не могу ее решить, поэтому с нетерпением ждем помощи.

  • 0
    пожалуйста, обратитесь к журналу MySQL для деталей.
  • 0
    не могу начать, я не могу найти журнал MySQL
Показать ещё 3 комментария
Теги:
installation
ubuntu-18.04
lamp

6 ответов

1
Лучший ответ

Вы должны изменить старый пароль 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
7

Ответ, помеченный как правильный, технически неверен. 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
    Я получил эту ошибку при запуске предложенной команды: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
1

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

sudo mysql_secure_installation

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

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

UPDATE user SET password=PASSWORD('NEW_PASSWORD') WHERE user='root';
0

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

  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

У меня также было много проблем с 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

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

Проверка состояния systemctl 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 и чистой установки, вместо того, чтобы пытаться сохранить существующие базы данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню