ホームページ  >  記事  >  データベース  >  Mysql ユーザー管理に関する知識の紹介

Mysql ユーザー管理に関する知識の紹介

藏色散人
藏色散人転載
2020-05-12 16:24:251890ブラウズ

現在使用されているユーザーとホスト:

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');
## を使用します#2. mysqladmin を使用します [bin ディレクトリに入力します]

備考: {形式: mysqladmin - uUsername -p 古いパスワード パスワード 新しいパスワード]

/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'

3. update を使用してユーザー テーブルを直接編集します

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 サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。