要件: mysql ユーザーを追加して、追加されたユーザーが特定のデータベースを操作するユーザーの権限のみを持つことができるようにします。
- ユーザーを作成します: CREATE USER 'testUser'@'%' IDENTIFIED BY '123456';
この時点で、次のプロンプトが表示される場合があります。
あなたのパスワードは現在のポリシー要件を満たしていません
- 完全なパスワード ルールを表示する
SHOW VARIABLES LIKE 'validate_password%';
validate_password_check_user_name OFF
validate_password_dictionary_file
validate_password_length 4
validate_password_mixed_case_count 1
validate_password_number_count 1
validate_password_policy LOW
validate_password_special_char_count 1
変更されていない場合は、ここで変更しました: validate_password_policy のデフォルトは中、validate_password_length のデフォルトは 8
- 2 つのコマンドを入力する必要があるため、パスワードの設定が簡単になります
SET GLOBAL validate_password_length = 4;
SET GLOBAL validate_password_policy=LOW;
- 設定後、SQL ステートメントを入力してユーザーを再度作成すると、エラーは報告されません。
CREATE USER 'testUser'@'%' IDENTIFIED BY '123456';
- 特定のデータベースに対するユーザーの権限を指定します
GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `mxc-contract`.* TO 'testUser'@'%';
- 権限を更新する
FLUSH PRIVILEGES;
- 現在のユーザーと権限を表示する
SELECT user,host FROM mysql.user;
- 作成したユーザーを削除したい場合
DELETE FROM mysql.user WHERE user = 'testUser'