В новых версиях MySQL есть свои нюансы по сбросу пароля MySQL. У меня даже при развертывании первичной базы пустой базы не удавалось подключаться. Некоторое время пришлось повозиться, побеждая данную проблему. Дальше, я приведу рецепт, как инициализировать базу данных и сбросить пароль рута в MySQL.
1) Останавливаем текущую службу MySQL:
1 |
sudo service mysql stop |
2) Создаем каталог /var/run/mysqld который будет использоваться процессом MySQL для хранения и доступа к файлу сокета, а также даем необходимые права:
1 2 |
sudo mkdir -p /var/run/mysqld sudo chown mysql:mysql /var/run/mysqld |
3) Запускаем MySQL со следующими параметрами:
1 |
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking & |
4) Убеждаемся, что процесс запущен:
1 2 |
jobs [1]+ Запущен sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking & |
5) На этом этапе мы можем получить доступ к MySQL без пароля.
Входим командой:
1 |
mysql -u root |
6) Затем сбрасываем пароль root следующей последовательностью запросов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> USE mysql; Database changed mysql> UPDATE user SET authentication_string=PASSWORD("123") WHERE User='root'; Query OK, 1 row affected, 1 warning (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> quit Bye |
Мы установили пароль “123” для пользователя “root”.
7) Завершаем текущий mysqld процесс:
1 |
sudo pkill mysqld |
[1]+ Завершён sudo /usr/sbin/mysqld –skip-grant-tables –skip-networking
8) Запускаем службу MySQL:
1 |
sudo service mysql start |
9) Теперь мы можем войти, используя только что установленный пароль для рута:
1 |
mysql -u root --password=123 |
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>
10) Так же, база попросила установить пароль с помощью Alter User:
1 |
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; |
Источник: http://ikode.ru/articles/kak-sbrosit-parol-root-mysql-na-ubuntu-1804
это единственный туториал который у меня сработал!
во всех остальных то ошибки какие-то или что-то не дописано (