Na cPanel, gdy jestem zalogowany jako root i wpisuję „mysql” bez nazwy hosta i hasła, daje mi bezpośredni dostęp do użytkownika root mysql.
Chciałbym to zrobić dla jednego z moich serwerów innych niż cpanel, na których użytkownik root root linux otrzymuje logowanie bez hasła do użytkownika root mysql w taki sam sposób, jak robi to na cPanel.
Czy to możliwe ?
/etc/my.cnf
którego serwer mysql używa do rozruchu. Jeśli umieścisz użytkownika root mysql w/etc/my.cnf
DOWOLNYM, możesz użyć serwera mysql z WSZYSTKIMI uprawnieniami do KAŻDEJ bazy danych bez hasła. Iain wskazuje na użytkownika powłoki.my.cnf
w domu roota, co oczywiście jest poprawne.W przypadku mysql 5.7+, jeśli ustawisz puste hasło dla początkowej konfiguracji, mysql automatycznie użyje
auth_socket
jako strategii. Próba aktualizacji hasła bez zmiany strategii nie przyniesie rezultatu. Zawsze możesz zalogować się bez użycia hasła, jeśli jest to użytkownikroot
.Rozwiązanie Uruchom następujące polecenie, aby zmienić strategię uwierzytelniania i ustawić hasło
odniesienie: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
źródło
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
... BY "";
. Dzięki!Począwszy od MySQL 5.6.6, możesz użyć mysql_config_editor, aby utworzyć zaszyfrowany plik, który automatycznie Cię zaloguje:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
Następnie wprowadź hasło po wyświetleniu monitu.
Uwaga: jeśli twoje hasło zawiera „#” i możliwe, że inne znaki, użyj pojedynczych cudzysłowów podczas wprowadzania hasła.
źródło
Utwórz plik zawierający tylko hasło root mysql i tylko root może czytać.
Możesz zaimportować bazę danych
lub połącz się z bazą danych i wydaj polecenia mysql
źródło
ps
(1)