MySQL建立使用者並設定許可權

2021-10-11 18:11:54 字數 1620 閱讀 7739

需求:資料庫中建立了乙個檢視,在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...