После импорта mysqldump не может получить доступ к MySQL с root или любому созданному пользователю - PullRequest
0 голосов
/ 05 февраля 2020

Справочная информация: Я использую vagrant (Ubuntu 18.04) для создания своей среды разработки, я устанавливаю PHP, MySQL и другие вещи, но недавно у меня возникла проблема, к которой я могу получить доступ mysql и затем я получил ошибку classi c:

ОШИБКА 1045 (28000): доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: НЕТ)

с использованием sudo mysql или

ОШИБКА 1045 (28000): доступ запрещен для пользователя «otheruser» @ «localhost» (с использованием пароля: ДА)

при попытке mysql -u otheruser -p

Проблема в том, что MySQL работает нормально, если несколько раз 'vagrant up' и 'vagrant halt', но по какой-то причине, когда я снова запускаю окно, я не могу получить доступ до MySQL больше. Я знаю, что могу сбросить пароль MySQL root, удалить MySQL или сделать другое быстрое решение, но больше всего я хочу узнать в чем причина проблемы , потому что сначала я думал о чем-то связанном с обновлением, которое я сделал для своего vagrant box, или обновлением в Ubuntu.

Когда я устанавливаю mysql на этот Box с Ubuntu, я использую файл. sh для автоматизации процесса , вот раздел mysql:

# Mysql Instalation
sudo apt install mysql-server -y
sudo mysql_secure_installation
sudo mysql < setup.sql 

и настройки. sql:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'rootpassword';
FLUSH PRIVILEGES;
CREATE USER 'otheruser'@'localhost' IDENTIFIED BY 'otherpassword';
GRANT ALL PRIVILEGES ON * . * TO 'otheruser'@'localhost';
FLUSH PRIVILEGES;

Затем я попытался выяснить, в чем проблема, и попытался ее решить. сначала я прокомментировал строки оператора root в файле setup. sql, а затем прокомментировал строку 'mysql_secure_installation' в файле. sh, но проблемы не исчезли; чтобы быстро решить проблему, я уничтожаю коробку, а затем создаю ее снова, но в этот момент мне стало скучно, поэтому я здесь, чтобы описать мою проблему.

, поэтому возобновим вопросы:

  • В чем может быть причина проблемы?, Чтобы я мог решить ее при создании будущих коробок.
  • Каков наилучший способ решения проблемы такого рода.

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

Спасибо за ваше время, прочитав это. Хорошего дня.

Обновление 06 / Фев / ​​2020

После просмотра процесса развертывания, чтобы найти больше информации о проблеме, я обнаружил, что проблема начинается, когда я выполнить импорт из mysqldump с моего рабочего сервера; сразу после импорта и снова выполните vagrant halt и vagrant up, проблема возникает, поэтому я не могу войти на MySQL снова.

Вот мой процесс mysqldump и мой процесс импорта, чтобы помочь, есть что-то неправильно.

Рабочий сервер с Ubuntu 16.04 MySQL 5.7.29

mysqldump -u root -p --all-databases > alldb_04-02-2020.sql

Vagrant Box с Ubuntu 18.04 MySQL 5.7.29

mysql -u otheruser -p < alldb_04-02-2020.sql

...