現在使用されているユーザーとホスト:
mysql> select USER(); +----------------+ | USER() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec)
ユーザーの追加
mysql5 の以前のバージョンでは、mysql ユーザーを mysql テーブルに挿入するために INSERT を直接使用していました。この操作は mysql5 以降では実行できません
mysql> insert into mysql.user(Host,User,Password) values('localhost','test_user',password('123123')); ERROR 1062 (23000): Duplicate entry 'localhost-test_user' for key 'PRIMARY'
ユーザーの追加 {ユーザーにデータ テーブルを指定する権限を付与します [GRANT コマンドを使用して、ユーザーに適切な権限を与えます]}
mysql> GRANT all privileges ON table1.* TO 'test_user'@'localhost' IDENTIFIED BY '123123' WITH GRANT OPTION; Query OK, 0 rows affected (0.02 sec)
IDENTIFIED BY ユーザーのログイン パスワードを指定します
ALL PRIVILEGES はすべての権限を意味します。選択、更新、その他の権限
* も使用できます。\ 最初の * 記号はデータベース名を指定するために使用され、次の * 記号はテーブル名を指定するために使用されます
TO は、特定のユーザーにアクセス許可を付与することを意味します。
ON は、どのライブラリとテーブルに対するアクセス許可を指定するために使用されます。
'test_user'@'localhost' は、test_user ユーザーを表します。 @ の後に制限付きホストが続きます。IP、IP セグメント、ドメイン名、%、% は任意の場所を意味します。
許可オプション付き このオプションは、ユーザーが自分の権限を他のユーザーに許可できることを意味します
システム権限テーブルを更新する必要があります [権限をフラッシュ] このユーザーのみが有効にログインできます
mysql> flush privileges;
ユーザーを削除
mysql> drop user 'test_user'@'localhost';
現在のユーザーの権限を表示します
mysql> SHOW GRANTS; +----------------------------------------------------------------------------------------------------------------------------------------+ | Grants for root@localhost | +----------------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '\*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +----------------------------------------------------------------------------------------------------------------------------------------+
ユーザーの権限を表示します
mysql> show grants for 'test_user'@'localhost' +------------------------------------------------------------------------------------------------------------+ | Grants for test_user@localhost | +------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'test_user'@'localhost' IDENTIFIED BY PASSWORD '\*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1' | | GRANT ALL PRIVILEGES ON table1.* TO 'test_user'@'localhost' WITH GRANT OPTION | +------------------------------------------------------------------------------------------------------------+
アカウントの名前を変更します
mysql> rename user 'test_user'@'localhost' to 'bb'@'localhost';
パスワードを変更します
1. パスワード設定コマンド
mysql> SET PASSWORD FOR 'test_user'@'localhost' = PASSWORD('123456');
/usr/bin$ mysqladmin -utest_user -p123456 password 123123 mysqladmin: Can't turn off logging; error: 'Access denied; you need (at least one of) the SUPER privilege(s) for this operation'
mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update user set PASSWORD = PASSWORD('123123') where user = 'test_user'; Query OK, 1 row affected (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 0
MySQL チュートリアル 」
以上がMysql ユーザー管理に関する知識の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。