日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql对库授权alter_mysql 数据库授权(给某个用户授权某个数据库)

發布時間:2024/10/8 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql对库授权alter_mysql 数据库授权(给某个用户授权某个数据库) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先設置該用戶只有show database權限

grant select,insert,update,delete on redmine1.* tojira@"%" identified by "jira";

授權命令GRANT 語句的語法如下:

GRANT privileges (columns)

ON what

TO user IDENTIFIEDBY "password"

WITH GRANT OPTION

對用戶授權

mysql>grant rights on database.* touser@hostidentified by "pass";

例1:

增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。

grant select,insert,update,delete on *.* totest1@"%" Identified by "abc";

ON 子句中*.* 說明符的意思是“所有數據庫,所有的表”

例2:

增加一個用戶test2密碼為abc, 讓他只可以在localhost上登錄,并可以對數據庫mydb進行查詢、插入、修改、刪除的操作。

grant select,insert,update,delete on mydb.* totest2@localhostidentified by "abc";

例子3

增加一個用戶custom,他能從主機localhost、server.domain和whitehouse.gov連接。他只想要從 localhost存取bankaccount數據庫,從whitehouse.gov存取expenses數據庫和從所有3臺主機存取customer 數據庫。他想要從所有3臺主機上使用口令stupid。

為了使用GRANT語句設置個用戶的權限,運行這些命令:

shell> mysql --user=root mysql

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON bankaccount.* TO custom@localhost IDENTIFIED BY 'stupid';

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON expenses.* TO custom@whitehouse.gov IDENTIFIED BY 'stupid';

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON customer.* TO custom@'%' IDENTIFIED BY 'stupid';

==============================================

權限信息用user、db、host、tables_priv和columns_priv表被存儲在mysql數據庫中(即在名為mysql的數據庫中)。

權限 列 Context

select Select_priv 表

insert Insert_priv 表

update Update_priv 表

delete Delete_priv 表

index Index_priv 表

alter Alter_priv 表

create Create_priv 數據庫、表或索引

drop Drop_priv 數據庫或表

grant Grant_priv 數據庫或表

references References_priv 數據庫或表

reload Reload_priv 服務器管理

shutdown Shutdown_priv 服務器管理

process Process_priv 服務器管理

file File_priv 在服務器上的文件存取

1.select、insert、update和delete權限 允許你在一個數據庫現有的表上實施操作,是基本權限

2.alter權限允許你使用ALTER TABLE

3.create和drop權限允許你創建新的數據庫和表,或拋棄(刪除)現存的數據庫和表 如果你將mysql數據庫的drop權限授予一個用戶,該用戶能拋棄存儲了MySQL存取權限的數據庫!

4.grant權限允許你把你自己擁有的那些權限授給其他的用戶。

你不能明顯地指定一個給定用戶應該被拒絕存取。即,你不能明顯地匹配一個用戶并且然后拒絕連接。你不能指定一個用戶有權創建立或拋棄一個數據庫中的表,也不能創建或拋棄數據庫本身。 可以同時列出許多被授予的單個權限。

例如,如果想讓用戶能讀取和修改已有表的內容,但又不允許創建新表或刪除表,可按如下授權:

GRANT SELECT,INSERT,DELETE,UPDATE ON samp_db.* TO 'user'@'%' IDENTIFIEDBY "pass"

以上是我從別的地方拷貝過來后稍作修改的文字,下面自己寫一些需要注意的東西。

為什么使用了Grant all on db.* to user identified by "pass"后,在主機上訪問數據庫還會出現ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES) 的錯誤提示?

解答方法如下:運行命令 Grant all on db.* to 'user'@'localhost' identified by "pass"

原因是:當不加@選項時,效果與加@'%'是一樣的,'%'從名義上包括任何主機,(%必須加上引號,不然與@放在一起可能不會被辨認出。)不過有些時候(有些版本)'%'不包括localhost,要單獨對@'localhost'進行賦值

總結

以上是生活随笔為你收集整理的mysql对库授权alter_mysql 数据库授权(给某个用户授权某个数据库)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。