mysqlユーザー設定


mysqlユーザー設定
0、背景
権限設定が重要です.
データを格納するDBMSでの権限設定はナンセンス!
たとえば、よく使われるspringfoot jpaを見てみましょう.
testはddl-autoでdrop、createを繰り返します.
しかし、もし生産中にdrop、createが発生したら、それは災難です!!はい.
それも取り返しのつかない大災害だ!!
一般的に、アプリケーションにはcrudがあり、テストアプリケーションにはcrud+create/drop権限があればよい.
また、開発チーム(ユーザ)は、「選択」権限を持ち、必要に応じて挿入/更新/削除を実行するだけです.
ユーザー設定をすばやく理解しましょう!!
1.ユーザーの作成
create user ''@'' identified by '';
//localhost에서만 접속가능한 user1을 생성
create user 'user1'@'localhost' identified by 'hello1!';

//192.168.0.*에서만 접속가능한 user1을 생성
create user 'user1'@'192.168.0.%' identified by 'hello1!';

//아무곳에서나 접속가능한 user1을 생성
create user 'user1'@'%' identified by 'hello1!';
2.ユーザーの削除
drop user ''@'';
//localhost에서만 접속가능한 user1을 삭제.
create user 'user1'@'localhost' identified by 'hello1!';
3.授権
grant on . to ''@'';
grantプロジェクトは正式な書類を参照してください.
//user1에게 test_db의 모든 테이블에 대해 모든권한을 부여.
grant all on test_db.* to 'user1'@'localhost';

//user1에게 test_db의 모든 테이블에 대해 insert/select/update/delete 권한을 부여.
grant insert,select,update,delete on test_db.* to 'user1'@'localhost';
承認後すぐに反映する場合は、次のコマンドを実行します.
ただし、ポリシーは現在接続中のセッションを反映せず、その後の接続のセッションを反映します.
flush privileges;
4.権限の削除
revoke on . from ''@'';
//user1에게 test_db의 모든 테이블의 무든 권한을 제거.
revoke all on test_db.* from 'user1'@'localhost';

//user1에게 test_db의 모든 테이블에 대해 update/delete 권한을 제거.
revoke update,delete on test_db.* from 'user1'@'localhost';
5.付与内容の確認
show grants for '@'';
//'select_only'@'%'의 grant 내역을 확인
show grants for 'select_only'@'%';