需求:資料庫中建立了乙個檢視,在mysql中新增使用者,並給指定使用者分配查詢select許可權。
開啟cmd,執行一下命令連線資料庫:
mysql -h localhost -p 3306 -u root -p
回車並資料密碼,即可進入mysql
use mysql;
#tempuser表示你要建立的使用者名稱,後面的123456表示密碼,
#localhost限制在固定位址localhost登入
create user tempuser@'localhost' identified by '123456';注:
此處的"localhost",是指該使用者只能在本地登入,不能在另外一台機器上遠端登入。如果想遠端登入的話,將"localhost"改為"%"
①grant select on db_test.base_user_view to 'tempuser'@'localhost';
②grant show view on db_test.base_user_view to 'tempuser'@'localhost';
重新整理許可權表:flush privileges;
注意:
①此處的"localhost",是指該使用者只能在本地登入,不能在另外一台機器上遠端登入。如果想遠端登入的話,將"localhost"改為"%",表示在任何一台電腦上都可以登入。也可以指定某台機器可以遠端登入
②因為給使用者設定的是檢視,則需要給予檢視的許可權
show grants;
show grants for 'tempuser'@'localhost';
撤銷使用者tempuser全部許可權
revoke all on *.* from tempuser@localhost;
撤銷使用者tempuser某乙個許可權
revoke select on db_test.base_user_view from tempuser@localhost;
①delete from user where user='tempuser' and host='localhost';
②flush privileges;
③刪除賬戶及許可權:drop user 使用者名稱@'%';
例如:drop user tempuser@'localhost';
1、在建立使用者時提示mysql錯誤:the mysql server is running with the --skip-grant-tables option so it cannot execute this statement
解決方案:
重新整理許可權表 flush privileges;
2、mysql錯誤:1142 show view command denied to user 'tempuser@localhost' for table 'base_user_view'
許可權不夠的問題,因為設定的是檢視的唯讀許可權,未給tempuser使用者授予"show_view_priv"許可權
解決方案:
①grant show view on db_test.base_user_view to 'tempuser'@'localhost';
②flush privileges;
mysql建立使用者並設定所有許可權
1 建立使用者 create user username host identified by password username 使用者名稱 host 指定在哪個主機上可以登入,本機可用localhost,通配所有遠端主機 password 使用者登入密碼 2 授權 grant all privi...
MySQL 建立使用者並設定所有許可權
1 建立使用者 create user username host identified by password username 使用者名稱 host 指定在哪個主機上可以登入,本機可用localhost,通配所有遠端主機 password 使用者登入密碼 2 授權 grant all privi...
MySQL 建立使用者並設定所有許可權
1 建立使用者 create user username host identified by password username 使用者名稱 host 指定在哪個主機上可以登入,本機可用localhost,通配所有遠端主機 password 使用者登入密碼 2 授權 grant all privi...