istnieje kilka sposobów na ustawienie hasła użytkownika MySQL:
– Utwórz użytkownika…zidentyfikowanego przez
– GRANT…zidentyfikowanego przez
– Ustaw hasło
– hasło mysqladmin
– zaktualizuj tabele dotacji (niezalecane)
dla wszystkich metod uprawnienia wymagane do zmiany hasła są:
1. Wszyscy użytkownicy mogą zmienić własne hasło.
2 . Użytkownicy z aktualizacją w bazie danych mysql mogą aktualizować hasła dla innych użytkowników za pomocą SET PASSWORD lub w MySQL 5.7 i nowszych za pomocą ALTER USER.
3., Jeśli opcja read_only jest włączona, oprócz wyżej wymienionych uprawnień wymagane jest SUPER.
Ustaw hasło
najczęstszym sposobem zmiany hasła istniejącego konta bez zmiany jego uprawnień jest użycie instrukcji SET PASSWORD. Na przykład, aby ustawić hasło tom na lokalnym hoście na new_password, użyj następującej instrukcji:
mysql> SET PASSWORD FOR tom@localhost = PASSWORD('new_password');Query OK, 0 rows affected (0.00 sec)
Jeśli jesteś zalogowany jako użytkownik niebędący rootem i twój użytkownik nie ma uprawnień do aktualizacji bazy danych mysql, możesz zmienić tylko własne hasło., Aby to zrobić, użyj instrukcji SET PASSWORD bez klauzuli FOR:
mysql> SET PASSWORD = PASSWORD('new_password');
MySQL 5.7 i nowsze (Ustaw hasło)
w MySQL 5.7 i nowszych nie jest konieczne używanie funkcji PASSWORD ():
MySQL 5.7> SET PASSWORD FOR myuser@localhost = 'my_new_password';Query OK, 0 rows affected (0.01 sec)
aby zmienić hasło dla bieżącego użytkownika:
MySQL 5.7> SET PASSWORD = 'my_new_password';Query OK, 0 rows affected (0.00 sec)
mysqladmin
narzędzie mysqladmin pozwala zmienić hasło dla użytkownika, dla którego znasz istniejące hasło., Użycie to:
$ mysqladmin --defaults-file=etc/my.cnf --user=tom --password my_new_passwordEnter password:New password:Confirm new password:
ALTER USER
instrukcja ALTER USER może być również użyta do zmiany hasła istniejącego użytkownika:
MySQL 5.7> ALTER USER tom@localhost IDENTIFIED BY 'my_new_password';Query OK, 0 rows affected (0.01 sec)
ALTER USER obsługuje również manipulowanie kilkoma użytkownikami za pomocą jednej instrukcji, na przykład:
MySQL 5.7> ALTER USER myuser@localhost, tom@localhost IDENTIFIED BY 'my_new_password';Query OK, 0 rows affected (0.01 sec)