Jak w MySQL zmienić nazwę użytkownika

Zarządzając serwerem MySQLa niekiedy konieczna jest zamiana nazwy utworzonego na nim użytkownika. Choć prostszym wydaje się po prostu utworzenie nowego to konieczność przepisania, niekiedy skomplikowanych, uprawnień może zająć sporo czasu.

Zanim zmiana będzie w ogóle możliwa trzeba wpierw zalogować się na serwerze jako root lub inny użytkownik posiadający odpowiednie uprawnienia. Po wywołaniu polecenia system poprosi o podanie hasło i, jeżeli to będzie poprawne, dokończy proces logowania.

radek@centos.local:~$ mysql -u root -p
Enter password:

Do zmiany nazwy użytkownika oprócz, cóż… nazwy użytkownika potrzebny będzie też nazwa hosta z którego będzie się on łączył. Potrzebne informacje wyświetli poniższe zapytanie.

mysql> SELECT user, host FROM mysql.user ORDER BY user, host ASC;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| halina_kowalska  | localhost |
| leszek_nowak     | localhost |
| root             | 127.0.0.1 |
| root             | ::1       |
| root             | localhost |
| wieslaw_iksinski | localhost |
| zenon_typowy     | localhost |
+------------------+-----------+
7 rows in set (0.00 sec)

Mając potrzebne informacje można przeprowadzić zmianę nazwy użytkownika.

mysql> RENAME USER 'halina_kowalska'@'localhost' TO 'halina_czarniecka'@'localhost';
Query OK, 0 rows affected (0.00 sec)

I na koniec sprawdzić czy wszystko poszło jak należy.

mysql>  SELECT user, host FROM mysql.user ORDER BY user, host ASC;
+-------------------+-----------+
| user              | host      |
+-------------------+-----------+
| halina_czarniecka | localhost |
| leszek_nowak      | localhost |
| root              | 127.0.0.1 |
| root              | ::1       |
| root              | localhost |
| wieslaw_iksinski  | localhost |
| zenon_typowy      | localhost |
+-------------------+-----------+
7 rows in set (0.00 sec)

Skomentuj