1. 程式人生 > >mysql的grant許可權

mysql的grant許可權

通過命令”show privileges;”可以檢視

grant 許可權 on 資料庫物件 to 使用者

一、grant 普通資料使用者,查詢、插入、更新、刪除 資料庫中所有表資料的權利。

grant select on testdb.* to [email protected]’%’

grant insert on testdb.* to [email protected]’%’

grant update on testdb.* to [email protected]’%’

grant delete on testdb.* to [email protected]
'%'

或者

grant select, insert, update, delete on testdb.* to [email protected]’%’

二、grant 資料庫開發人員,建立表、索引、檢視、儲存過程、函式。。。等許可權。

grant 建立、修改、刪除 MySQL 資料表結構許可權。

grant create on testdb.* to [email protected]’192.168.0.%’;

grant alter on testdb.* to [email protected]’192.168.0.%’;

grant drop on testdb.* to

[email protected]’192.168.0.%’;

grant 操作 MySQL 外來鍵許可權。

grant references on testdb.* to [email protected]’192.168.0.%’;

grant 操作 MySQL 臨時表許可權。

grant create temporary tables on testdb.* to [email protected]’192.168.0.%’;

grant 操作 MySQL 索引許可權。

grant index on testdb.* to [email protected]

’192.168.0.%’;

grant 操作 MySQL 檢視、檢視檢視原始碼 許可權。

grant create view on testdb.* to [email protected]’192.168.0.%’;

grant show view on testdb.* to [email protected]’192.168.0.%’;

grant 操作 MySQL 儲存過程、函式 許可權。

grant create routine on testdb.* to [email protected]’192.168.0.%’; — now, can show procedure status

grant alter routine on testdb.* to [email protected]’192.168.0.%’; — now, you can drop a procedure

grant execute on testdb.* to [email protected]’192.168.0.%’;

三、grant 普通 DBA 管理某個 MySQL 資料庫的許可權。

grant all privileges on testdb to [email protected]’localhost’

其中,關鍵字 “privileges” 可以省略。

四、grant 高階 DBA 管理 MySQL 中所有資料庫的許可權。

grant all on *.* to [email protected]’localhost’

五、MySQL grant 許可權,分別可以作用在多個層次上。

1. grant 作用在整個 MySQL 伺服器上:

grant select on *.* to [email protected]; — dba 可以查詢 MySQL 中所有資料庫中的表。

grant all on *.* to [email protected]; — dba 可以管理 MySQL 中的所有資料庫

2. grant 作用在單個數據庫上:

grant select on testdb.* to [email protected]; — dba 可以查詢 testdb 中的表。

3. grant 作用在單個數據表上:

grant select, insert, update, delete on testdb.orders to [email protected];

這裡在給一個使用者授權多張表時,可以多次執行以上語句。例如:

grant select(user_id,username) on smp.users to [email protected]’%’ identified by ‘123345′;

grant select on smp.mo_sms to [email protected]’%’ identified by ‘123345′;

4. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_log to [email protected];

5. grant 作用在儲存過程、函式上:

grant execute on procedure testdb.pr_add to ‘dba’@'localhost’

grant execute on function testdb.fn_add to ‘dba’@'localhost’

六、檢視 MySQL 使用者許可權

檢視當前使用者(自己)許可權:

show grants;

檢視其他 MySQL 使用者許可權:

show grants for [email protected];

七、撤銷已經賦予給 MySQL 使用者許可權的許可權。

revoke 跟 grant 的語法差不多,只需要把關鍵字 “to” 換成 “from” 即可:

grant all on *.* to [email protected];

revoke all on *.* from [email protected];

八、MySQL grant、revoke 使用者許可權注意事項

1. grant, revoke 使用者許可權後,該使用者只有重新連線 MySQL 資料庫,許可權才能生效。

2. 如果想讓授權的使用者,也可以將這些許可權 grant 給其他使用者,需要選項 “grant option“

grant select on testdb.* to [email protected] with grant option;

這個特性一般用不到。實際中,資料庫許可權最好由 DBA 來統一管理。

mysql授權表共有5個表:user、db、host、tables_priv和columns_priv。

授權表的內容有如下用途:

user表

user表列出可以連線伺服器的使用者及其口令,並且它指定他們有哪種全域性(超級使用者)許可權。在user表啟用的任何許可權均是全域性許可權,並適用於所有資料庫。例如,如果你啟用了DELETE許可權,在這裡列出的使用者可以從任何表中刪除記錄,所以在你這樣做之前要認真考慮。

db表

db表列出資料庫,而使用者有許可權訪問它們。在這裡指定的許可權適用於一個數據庫中的所有表。

host表

host表與db表結合使用在一個較好層次上控制特定主機對資料庫的訪問許可權,這可能比單獨使用db好些。這個表不受GRANT和REVOKE語句的影響,所以,你可能發覺你根本不是用它。

tables_priv表

tables_priv表指定表級許可權,在這裡指定的一個許可權適用於一個表的所有列。

columns_priv表

columns_priv表指定列級許可權。這裡指定的許可權適用於一個表的特定列。

注:

對於GRANT USAGE ON,檢視手冊有如下介紹和例項:

mysql> GRANT USAGE ON *.* TO ‘zhangkh’@'localhost’;

一個賬戶有使用者名稱zhangkh,沒有密碼。該賬戶只用於從本機連線。未授予許可權。通過GRANT語句中的USAGE許可權,你可以建立賬戶而不授予任何許可權。它可以將所有全域性許可權設為’N'。假定你將在以後將具體許可權授予該賬戶。

相關推薦

django自定義許可權防止所有使用者都能進行刪除操作

場景描述:對於刪除操作等不希望所有登入使用者都能刪除,且不是使用django進行的資料控制,需要進行特殊控制 1,url檔案: path('task-del.html', views.TaskDel.as_view(), name='task_del'), 2,views檔案:

mysql學習筆記之許可權

MySQL許可權的定義 01.作用物件 庫、表 02.許可權 細化到具體命令 03.歸屬 每次設定只能有一個“屬主”。沒有屬組或其他 概念 grant all on test.* to [email protected]‘10.0.0.%

robotframework appium 安卓許可權問題

robotframework 安卓許可權問題 在使用rf + appium 做UI 自動化的時候,總是會遇到請求許可權的彈框 而且各個機型上的彈窗,可能還不相同,這就比較坑了 機型那麼多,不可能每個機型都去做一下相容 所以就上網找了各種方法,最終使用: ad

Linux命令 修改使用者許可權——對檔案的修改刪除等

chown -R                                        

基於springboot+bootstrap+mysql+redis搭建一套完整的許可權架構【八】【完善整個專案】

上一章我們已經完成了選單模組的開發工作,那麼到了本章我們將完成我們角色管理模組的開發工作,在本章開始一個全新的模組進行開發的時候我們需要遵守一定的命名和開發規範如下: 1、我們的Controller的RequestMapping的命名要和我們的資料夾的命名一致,且增加的頁面要

Entrust - Laravel 使用者許可權系統解決方案 | Laravel China 社群 - 高品質的 Laravel 和 PHP 開發者社群 - Powered by PHPHub

說明# Zizaco/Entrust 是 Laravel 下 使用者許可權系統 的解決方案, 配合 使用者身份認證 擴充套件包 Zizaco/confide 使用, 可以快速搭建出一套具備高擴充套件性的使用者系統. Confide, E

Django rest framework(2)----許可權

一 新增許可權 (1)API/utils資料夾下新建premission.py檔案,程式碼如下: message是當沒有許可權時,提示的資訊 #!/usr/bin/env python # coding:utf-8 from rest_framework.permission

Linux檔案許可權入門

當看到linux上檔案的許可權如下時,你是否能看出來這個檔案具備的許可權?當同組的人和你溝通 4-2-1時,你知道代表的是什麼?下邊就是跟著小白一起學習linux檔案許可權。 標題 學習linxu檔案許可權步驟:   1、linux檔案許可權用9

資料夾讀寫許可權與asp.net的問題

在做檔案或圖片類上傳應用時常會碰到資料夾寫許可權的限制。這裡貼個stackoverflow的一個方法。 翻譯:當用戶接入你的網站時,IIS分配一個IUSER_ComputerName賬戶,這裡ComputerName是IIS執行的伺服器名。預設,該賬戶是遊客組成員。該組是有安全限制的。可嘗

linux目錄或檔案許可權 字元 解析drwxr-xr-x

點選此處檢視原文 通過 ls -l 可以檢視 目錄 或 檔案 的許可權時間 大小 等資訊, 許可權 佔據10 個字元,eg: "drwxrwxrwx" 格式: "目錄標記" + “所有者操作許可權” + “所有者所在組成員操作許可權” + “其他人操作許可權”

svn通過hook開啟修改提交日誌許可權pre-revprop-change

首先在伺服器開啟更改log的設定: 找到版本庫的hooks目錄, cp pre-revprop-change.tmpl pre-revprop-change chmod a+x pre-revprop-change svn自帶的hook已經寫好了,只要把它啟用就可以。 但是呢

centos下svn分組許可權管理

1、開啟svn安裝目錄。可以通過ps aux|grep svn 查詢svn的安裝目錄 2、編輯svnserve.conf, 基本保留這些內容 [general] anon-access=none auth-access=write password-db=passwd // 這裡可

【DB2】普通使用者最小查詢許可權分配

db2 connect to <db-name> 1. 分配普通使用者連線許可權db2 "grant connect on database to user db-user" 2. 分配使用者SQL5193Ndb2 "grant usage on workload SYSDEFAULTUSER

ubuntu 系統adduser 的時候新增sudo 的許可權

ubuntu下直接執行sudo命令,會提示類似:  xxxis not in the sudoers file.  This incident will be reported.  這裡,xxx是使用者名稱稱,然後導致無法執行sudo命令,這時候

DRF框架—認證&許可權的使用

認證和許可權是一起配合使用的。 可以再配置檔案中settings配置全域性預設的認證&許可權 REST_FRAMEWORK = { # python中認證的配置 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest

tp5報錯筆記(2):file_put_contents():無法開啟流:許可權被拒

tp5寫的網站在本地視窗環境下都執行的好好的,一放到阿里雲的伺服器的linux環境下全是問題 第一碰到的就是file_put_contents(); 第一次碰到這個問題,一頭霧水,最後網上查詢解決辦法,都是讓改變目錄的許可權,我用的是FTP客戶端上傳檔案的,所以很容易改許可權,檢視報錯的資料

Linux ttyUSB*讀寫許可權獲取

  1. 檢視ttyUSB裝置      如果檢視所有tty裝置可以將ttyUSB* 改為tty* 2. 單次生效     本條指令的生效週期是本次關比機器之前 3. 永久生效 &

javaSE_day8_構造方法_super關鍵字_final關鍵字_static關鍵字_內部類_訪問許可權和修飾符_程式碼塊_自定義資料型別

1.構造方法 作用:用來給類的成員進行初始化操作 定義格式:許可權  方法名(引數列表){ ... } //注意:方法的名字必須和類名完全一致,構造方法不允許寫返回值型別,void也不能寫 構造方法在什麼時候執行呢:在new物件的時候,自動執行,且

10 面向物件_許可權修飾符&匿名內部類

10.01_面向物件(package關鍵字的概述及作用)(瞭解) A:為什麼要有包(資料夾) 將位元組碼(.class)進行分類存放 包其實就是資料夾 B:包的概述 舉例: 學生:增加,刪除,修改,查詢 老師:增加,刪

認證鑑權與API許可權控制在微服務架構中的設計與實現

引言: 本文系《認證鑑權與API許可權控制在微服務架構中的設計與實現》系列的第一篇,本系列預計四篇文章講解微服務下的認證鑑權與API許可權控制的實現。 1. 背景 最近在做許可權相關服務的開發,在系統微服務化後,原有的單體應用是基於session的安全許可權方式,不能滿足現有的微服務架構的認