Не удается войти в mySql с терминала - PullRequest
0 голосов
/ 27 июня 2018

Я прочитал и следил за процессом на https://websiteforstudents.com/install-mysql-8-0-on-ubuntu-16-04-17-10-18-04/, чтобы установить mySql на мою виртуальную машину с Ubuntu. Все работает просто отлично. Но когда я пытаюсь

sudo mysql -u root -p

на терминале выдает ошибку типа

Access denied for user 'root'@'localhost' (using password: YES)

Я не могу даже сбросить свой пароль, так как ничего не открывается. Есть ли способ сбросить пароль (если это проблема) с терминала.

UPDATE

Я прочитал Как узнать пароль root для MySQL , но после первого

sudo service mysql stop

когда я пытаюсь

sudo mysqld_safe --skip-grant-tables

Это дает мне ошибку, как

2018-06-27T06:24:15.801227Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2018-06-27T06:24:15.802880Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

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

mkdir -p /var/run/mysqld

говорит мне, что у меня нет разрешения на создание

mkdir -p /var/run/mysqld

Ответы [ 2 ]

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

Вот шаг, который поможет вам сбросить пароль для пользователя root.

Здесь я использую «mysqld», в вашей системе вам может понадобиться «mysql»

Остановите службу Mysql и запустите в безопасном режиме

service mysqld stop
mysqld_safe --skip-grant-tables &

Если выше mysqld_safe --skip-grant-tables дает ошибку, то:

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

Подключение к MySQL без пароля

mysql

Теперь сбросьте пароль root и выйдите из системы

Один из следующих вариантов будет работать для вашего mysql: (либо с паролем, либо с колонкой authentication_string)

UPDATE mysql.user SET password=PASSWORD('NEW-PASSWORD') WHERE User='root';
UPDATE mysql.user SET authentication_string=PASSWORD('NEW-PASSWORD') WHERE User='root';

FLUSH PRIVILEGES;
exit;

Отключение службы безопасного режима mysql

mysqladmin -u root -p shutdown

нормально запускать службу mysql

service mysqld start

Теперь войдите с новым паролем в MySQL с новым паролем.

mysql -uroot -p
0 голосов
/ 27 июня 2018

У меня была такая же проблема с пользователем root MySQL. Попробуйте войти в систему как root на linux maschine, войдите оттуда в mysql как root:

sudo su # or just su, if you don't have sudo
mysql # normally, no further parameter are needed. If this is not working try mysql -u root
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...