Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: mysql-server 8.* кто смог после установки задать пароль root?  (Прочитано 271064 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн jack_solovey

  • Автор темы
  • Активист
  • *
  • Сообщений: 905
  • Mate, и никаких Unity
    • Просмотр профиля
При установке пароль не запрашивается.
Два дня бьюсь, перепробовал разные рецепты от разных версий.
Теоретически команды задания нового пароля срабатывали, но толку нет.
При любой попытке зайти
mysql -u root -p пароль
получаю ошибку
Access denied for user 'root'@'localhost'

Ощущение, что дело то и не в пароле даже. Но в чем оно не могу понять.
Кто-нибудь ставил на Ubuntu 22.04 и выше mysql-server ?
Можете поделиться опытом?

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1754
    • Просмотр профиля
sudo mysql_secure_installation
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
sudo service mysql restart
mysql -u root -p

Оффлайн jack_solovey

  • Автор темы
  • Активист
  • *
  • Сообщений: 905
  • Mate, и никаких Unity
    • Просмотр профиля
Спасибо, но это не работает.

~$ 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)
далее
~$ sudo mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

тогда запустил службу с игнором прав
~$ sudo gedit /etc/mysql/my.cnf

прописал туда
[mysqld]
skip-grant-tables
skip-networking

~$ sudo /etc/init.d/mysql restart

~$ sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.35-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

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> ALTER USER 'root'@'Localhost' IDENTIFIED WITH mysql_native_password BY 'простойпароль';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,06 sec)

mysql> ALTER USER 'root'@'Localhost' IDENTIFIED WITH mysql_native_password BY 'простойпароль';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> ALTER USER 'root'@'Localhost' IDENTIFIED WITH mysql_native_password BY 'сложныййпароль';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
mysql>


Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6754
  • 20% Cooler
    • Просмотр профиля
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн jack_solovey

  • Автор темы
  • Активист
  • *
  • Сообщений: 905
  • Mate, и никаких Unity
    • Просмотр профиля
сделайте по инструкции

Еще раз, НЕ работают все эти инструкции.
Программистам 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)
« Последнее редактирование: 06 Января 2024, 09:43:45 от jack_solovey »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Если вы по-тупости перенесли базу mysql со старого сервера, то, конечно, все настройки и пароли будут такими же, как на старом.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн jack_solovey

  • Автор темы
  • Активист
  • *
  • Сообщений: 905
  • Mate, и никаких Unity
    • Просмотр профиля
Если вы по-тупости перенесли базу mysql со старого сервера, то, конечно, все настройки и пароли будут такими же, как на старом.
Интересно как! я написал
Цитировать
"т.к. я переношу от туда базы и программы..."
Это процесс в котором сейчас нахожусь.
Но не написал нигде о том, что я УЖЕ что-то перенес. Тем более базу "mysql"
напротив, есть 2 признака того, что я ставлю всё с нуля.
1. явный и очевидный это то, что я так и написал, что ставлю сервер и сразу после установки пытаюсь задать пароль root.
2. я привел вывод из таблицы user, где видно, что кроме системных логинов ничего нет и у root нету пароля.

Сижу вот и думаю, почему какой-то AnrDaemon лезет в тему не прочитав, пишет тупости и оскорбляет.
А не пойти ли AnrDaemon-у лесом в закат?
Модераторы, можно удалить коммент этого тупого не адеквата?

« Последнее редактирование: 06 Января 2024, 14:05:08 от jack_solovey »

Оффлайн es1840

  • Активист
  • *
  • Сообщений: 328
    • Просмотр профиля
Программистам MySQL надо гвоздь в голову забить, за те извращения которые они в новой версии на воротили.

https://dev.mysql.com/doc/refman/8.0/en/socket-pluggable-authentication.html

mysql> select Host, User, plugin from mysql.user where user='root';
+-----------+------+-------------+
| Host      | User | plugin      |
+-----------+------+-------------+
| localhost | root | auth_socket |
+-----------+------+-------------+
1 row in set (0,00 sec)

(Нажмите, чтобы показать/скрыть)

Извращение устанавливать другого root в базу данных

Да, и mysql_secure_installation тоже не нужен давно

« Последнее редактирование: 06 Января 2024, 18:23:07 от es1840 »

Оффлайн virusoft

  • Активист
  • *
  • Сообщений: 323
    • Просмотр профиля
    • Virusoft
Запусти mysql-сервер от имени root. Ну тот который в самой системе прописан. Запускай через sudo и никаких проблем быть не должно. Единственная проблема может быть с удаленным доступом. Я на локальной машине это делал.
Если работает - не трогай. Linux - гибкая система, но один раз прогнувшись может обратным ходом распрямиться и ударить по самому (…) месту. Думай о будущем и все будет хорошо.

Оффлайн jack_solovey

  • Автор темы
  • Активист
  • *
  • Сообщений: 905
  • Mate, и никаких Unity
    • Просмотр профиля
Извращение устанавливать другого root в базу данных
Согласен. Только не понял, это вы себе пишете? Я то не устанавливал "другого root в базу данных".

Оффлайн virusoft

  • Активист
  • *
  • Сообщений: 323
    • Просмотр профиля
    • Virusoft
Согласен. Только не понял, это вы себе пишете? Я то не устанавливал "другого root в базу данных".
Работать от имени root извращение.
Создайте пользователя jack_solovey и дайте ему все права (all privilegies). У него будет свой пароль (не рутовый) и все возможности рута.
Команда простая:
sudo mysql
Ввели пароль рута из системы, а далее вспоминайте, как создаются пользователи баз данных и как им выдают нужные права.
Если работает - не трогай. Linux - гибкая система, но один раз прогнувшись может обратным ходом распрямиться и ударить по самому (…) месту. Думай о будущем и все будет хорошо.

Оффлайн jack_solovey

  • Автор темы
  • Активист
  • *
  • Сообщений: 905
  • Mate, и никаких Unity
    • Просмотр профиля
Команда простая:
sudo mysql
Ввели пароль рута из системы,
Не замечаете за собой?
Народ я с вас просто прифигеваю.
Вы как будто не читаете исходные данные, СОВСЕМ.
Задача как раз и стояла задать пароль рута, Т,К, он не был запрошен при установке сервера.

Работать от имени root извращение.
Создайте пользователя jack_solovey и дайте ему все права (all privilegies). У него будет свой пароль (не рутовый) и все возможности рута.
Спасибо за поучения, но не было вопроса даже, может я уже это сделал после того как смог наконец пароль рута установить.
Ну правда зачем спрашивать, если можно себе нарисовать свои собственные вводные данные.

Оффлайн es1840

  • Активист
  • *
  • Сообщений: 328
    • Просмотр профиля
Вы никогда не задумывались почему в Ubuntu root есть а пароля к нему нет?
https://dev.mysql.com/doc/mysql-secure-deployment-guide/8.0/en/secure-deployment-configure-authentication.html
https://help.ubuntu.com/community/RootSudo

P.S.
Поучений не было - были напоминания

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Запусти mysql-сервер от имени root.
"Выстрели себе в ногу…"

Не надо так делать.

Пользователь добавил сообщение 09 Января 2024, 00:01:14:
Задача как раз и стояла задать пароль рута, Т,К, он не был запрошен при установке сервера.
Вы хоть релиз нотесы иногда читайте. В MySQL 8 root - системный пользователь. Так что
Команда простая:
sudo mysql
« Последнее редактирование: 09 Января 2024, 00:01:14 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.029 секунд. Запросов: 22.