45.1.2.3. Účty a jejich správa

Přiřazení hesla účtu

$ mysqladmin -h localhost -u root password "heslo_uživatele"
$ mysqladmin -h cobra.snake.net -u root password "heslo_uživatele"

Tyto dva příkazy nastaví přístupové heslo uživateli root pro přístup z lokálního stroje (localhost) a přes síť ze stroje cobra.snake.net. Stejného efekru dosáhneme z CLI takto

$ mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('heslo_uživatele');
mysql> SET PASSWORD FOR 'root'@'cobra.snake.net' = PASSWORD('heslo_uživatele');

Tabulku s hesly můžeme upravit přímo

$ mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('heslo_uživatele') WHERE User='root';
mysql> FLUSH PRIVILEGES;

Při přihlašování k účtu který je chráněn heslem musíme na toto mysql upozornit a ten se nás na heslo zeptá.

$ mysql -p -u root
Enter password: heslo_uživatele
mysql>

Příklad 45.1. Příklady z dokumentace MySQL

myslq> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' WITH GRANT OPTION;
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';

Pokud máme staršího klienta a zkoušíme se připojit k novějšímu server, může nastat chyba:

ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client

Tento případ se dá vyřešit použitíme staršího způsobu hashování hesel, funkce OLD_PASSWORD().

mysql> SET PASSWORD FOR 'uzivate'@'server' = OLD_PASSWORD('heslo');

http://lists.mysql.com/mysql/183477