Ubuntu 18.04 LTS после новой установки MySQL / PHPMyadmin; никакой пароль root; не мог войти в систему с PHPmyadmin

После новой установки Ubuntu 18.04 LTS Бионический Бобр и установка стека LAMP, а также установка PHPMyadmin я не могу войти в PHPMyadmin как пароль, который я имею, дают, в то время как обеспечение mysql с mysql_secure_installation не корректно, таким образом, кажется. Я ищу Интернет решения, но все предоставленные решения не имеют никакого положительного результата в моем случае.

Будет цениться рабочее решение.

3
задан 2 May 2018 в 20:35

3 ответа

У меня была та же проблема. MySQL Apparently был настроен по умолчанию для использования основанной на сокете аутентификации, которая использует системное имя пользователя и не пароль. Для решения проблемы я использовал следующие команды:

MySQL Access как пользователь root:

sudo mysql   # or sudo mysql -u root

Установите пароль для пользователя root MySQL:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';

Замена 'тестирует' выше с фактическим паролем, который Вы хотите использовать

9
ответ дан 1 December 2019 в 13:08

Я должен был войти в систему с

mysql -u root -p
0
ответ дан 1 December 2019 в 13:08

Решение состоит в том, чтобы переключить метод аутентификации MySQL от аутентификации сокета (т.е. auth_socket) к аутентификации по паролю (т.е. mysql_native_password плагин).

MySQL 5.7 и более поздние версии используют аутентификацию сокета по умолчанию. Это означает, что Вы могли запустить MySQL sudo mysql в терминале без пароля. Даже если Вы создаете новое использование пароля root mysql_secure_installation, Вы не смогли бы получить доступ к внешнему программному обеспечению как phpmyadmin, который использует аутентификацию по паролю. Следующее является решением:

sudo apt install mysql-server
sudo mysql_secure_installation

После ввода mysql_secure_installation создайте пароль для корня и нажмите кнопку Да для остальной части вопросов. [Можно заметить, что все еще MySQL запускается без любого пароля, потому что метод аутентификации по умолчанию не был изменен до настоящего времени!]

Теперь, введите MySQL

sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;

Теперь Вы видите в следующем выводе, тот корень имеет плагин какauth_socket вместо mysql_native_password

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *832A85D6EC83FA4A19ACFD461F672B95E4540611 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

Теперь мы должны изменить плагин на mysql_native_password. Замените 'пароль' в следующей команде с сильным паролем

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

Теперь можно проверить подлинные методы на каждого пользователя, с помощью того же выше команды

SELECT user,authentication_string,plugin,host FROM mysql.user;

Вывод:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *C035F91799F4415B005D146ECEB5ADD4D991031F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *832A85D6EC83FA4A19ACFD461F672B95E4540611 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

Если Ваш вывод похож на вышеупомянутое с плагином для корня как mysql_native_password, Вы хороши для движения :) Теперь можно просто получить доступ к phpmyadmin с корнем и его паролем.Надеюсь, это поможет.

Эта ссылка помогла мне понять это понятие намного лучше

1
ответ дан 1 December 2019 в 13:08

Другие вопросы по тегам:

Похожие вопросы: