сделайте по инструкции
Еще раз, НЕ работают все эти инструкции.
Программистам MySQL надо гвоздь в голову забить, за те извращения которые они в новой версии на воротили.
По вашей ссылке первая команда после установки это
sudo mysql_secure_installation
я выше написал, что происходит при ее выполнении.
~$ sudo mysql_secure_installation
[sudo] пароль для {user}:
Securing the MySQL server deployment.
Enter password for user root:
Error: Access denied for user 'root'@'localhost' (using password: YES)
Пользователь добавил сообщение 06 Января 2024, 09:11:16:
В общем методом слепого антинаучного тыка нащупал то, что сработало у меня.
Никакой гарантии, что сработает у других.
Никакой гарантии, что то, что я напишу ниже не зависит от того, что я делал выше.
Сносить и проверять все с нуля нет никакого желания.
Посылаю лучи ненависти и презрения программистам(или кто там принимает такие идиотские решения) в команде MySQL, за то что сломали то, что работало в предыдущих версиях без плясок с бубном и занялись извращениями.
вышел
exit
после этого не могу войти на сервер
все три варианта
~$ sudo mysql -u root
~$ sudo mysql
~$ mysql
дают ошибку
Access denied for user 'root'@'localhost' (using password: NO)
вариант с вводом пароля
~$ sudo mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
пришлось перезапустить сервер
~$ sudo /etc/init.d/mysql restart
после этого зашел
~$ sudo mysql
----------
проверил что пользователь есть
mysql> use mysql;
mysql> select user, authentication_string from user;
+------------------+------------------------+
| user | authentication_string |
+------------------+------------------------+
| debian-sys-maint | $A$00...m0 |
| mysql.infoschema | $A$00...ED |
| mysql.session | $A$00...ED |
| mysql.sys | $A$00...ED |
| root | |
+------------------+------------------------+
но выдает ошибку
mysql> ALTER USER 'root'@'Localhost' IDENTIFIED WITH mysql_native_password BY 'сложныййпароль';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
тогда
mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root';
Query OK, 1 row affected (0,01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> ALTER USER 'root'@'Localhost' IDENTIFIED WITH mysql_native_password BY 'сложныйпароль';
Query OK, 0 rows affected (0,00 sec)
mysql> select user, authentication_string from user;
+------------------+------------------------+
| user | authentication_string |
+------------------+------------------------+
| debian-sys-maint | $A$00...m0 |
| mysql.infoschema | $A$00...ED |
| mysql.session | $A$00...ED |
| mysql.sys | $A$00...ED |
| root | *BF85...F5 |
+------------------+------------------------+
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0,01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,00 sec)
~$ sudo gedit /etc/mysql/my.cnf
закомментировал
#[mysqld]
#skip-grant-tables
#skip-networking
~$ sudo /etc/init.d/mysql restart
~$ mysql -u root -p
пароль принял и зайти позволил
Пользователь добавил сообщение 06 Января 2024, 09:43:45:
Может кому-то пригодится.
Мне обязательно нужно чтобы пароли были такими же как на старом сервере, т.к. я переношу от туда базы и программы и нет желания искать как там поменять пароли.
В общем, как понизить требования к сложности пароля.
mysql> show variables like 'validate_passw%';
+-------------------------------------------------+--------+
| Variable_name | Value |
+-------------------------------------------------+--------+
| validate_password.changed_characters_percentage | 0 |
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+-------------------------------------------------+--------+
8 rows in set (0,01 sec)
mysql> SET GLOBAL validate_password.policy=0;
Query OK, 0 rows affected (0,00 sec)
mysql> show variables like 'validate_passw%';
+-------------------------------------------------+-------+
| Variable_name | Value |
+-------------------------------------------------+-------+
| validate_password.changed_characters_percentage | 0 |
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 1 |
+-------------------------------------------------+-------+
8 rows in set (0,01 sec)
mysql> ALTER USER 'root'@'Localhost' IDENTIFIED WITH mysql_native_password BY 'простойпароль';
Query OK, 0 rows affected (0,00 sec)