mysql的許可權管理

2021-09-01 13:35:28 字數 2393 閱讀 1015

公司的mysql許可權管理還算是比較的嚴格,每個資料庫只有與之對應的使用者有讀寫許可權,而我在本地啟動專案的時候,每次都要修改配置檔案中的資料庫連線,使用者名稱,密碼.

太麻煩了.

因此我將線上mysql的host對映到127.0.0.1,給本地的mysql新增所有的使用者,這樣我就可以不用修改配置檔案啦!(建議大家也進行許可權管理,每個資料庫單獨賬號讀寫).

但是我沒有,我直接執行了

grant

allprivilegeson*

.*to username@'%

' identified by 'password';

將所有資料庫的所有表的所有許可權賦給了某使用者.

修改完之後決定學習一下mysql的許可權管理,記錄一下方便後續查詢.

當然是為了安全,防止刪庫跑路這樣的事情,或者程式設計師的手抖.

許可權管理時應該遵循以下原則:

只授予能滿足需要的最小許可權.比如使用者只是需要查詢,那就只給select許可權就可以了,不要給使用者賦予update、insert或者delete許可權。

建立使用者的時候限制使用者的登入主機,一般是限制成指定ip或者內網ip段。

這裡引用官網上的乙個**來說明:

許可權分布

具體許可權

表許可權『select』, 『insert』, 『update』, 『delete』, 『create』, 『drop』, 『grant』, 『references』, 『index』, 『alter』

列許可權『select』, 『insert』, 『update』, 『references』

過程許可權

『execute』, 『alter routine』, 『grant』

據我所知有兩種方式:

使用grant命令.

操作mysql資料庫中的user表.

grant命令就是前言中我使用的那種方式.

1. 修改許可權

前言中該語句的詳細解釋如下:

grant

allprivilegeson*

.*to username@'%

' identified by 'password';

all privileges 是表示所有許可權,你也可以使用select、update等許可權。

on 用來指定許可權針對哪些庫和表。

*.* 中前面的號用來指定資料庫名,後面的號用來指定表名。

to 表示將許可權賦予某個使用者。

username@』%』 表示username使用者,@後面接限制的主機,可以是ip、ip段、網域名稱以及%,%表示任何地方。

identified by 指定使用者的登入密碼。

with grant option 這個選項表示該使用者可以將自己擁有的許可權授權給別人。

2. 檢視許可權

2.1 檢視當前使用者的許可權

2.2 檢視某乙個使用者的許可權

3.**許可權

revoke

selecton*

.*from test@'%'

;

4.修改使用者密碼

set password for

'test'@'%

' = password('

123456')

;

5.修改後重新整理許可權

flush privileges

;

在命令列連線上mysql之後,顯示所有的資料庫,連線mysql資料庫,檢視其中的user表,然後檢視user表的字段型別.

可以看到其中的字段代表的意義以及可取值.

對此資料表的操作將可以直接影響到使用者的許可權,具體操作方式與操作其他資料表並無區別,只需檢視一下字段對應的意義即可,這裡不再贅述.

資料庫操作還是小心為妙啊,能用select許可權就別用drop許可權,否則不知道什麼時候會手抖.完。

changelog 2018-11-22 完

更多學習筆記見個人部落格------>呼延十

mysql 許可權 舉例 mysql的許可權管理

1啟動與停止mysql 啟動mysql,預設情況下,mysqld safe嘗試啟動可執行mysqld max 如果存在 否則啟動mysqld mysql testdb2 mysqld safe 不需要輸入密碼就可以登陸的伺服器啟動方式 mysql testdb2 mysqld safe skip g...

MySQL許可權管理

本文主要講述的是mysql grant命令的例項演示,文中的mysql grant命令的實際操作主要是在mysql 5.0 及以上的相關版本上執行,下面就是對其具體操作步驟的描述,望你在瀏覽之後會有所收穫。mysql 賦予使用者許可權命令的簡單格式可概括為 grant 許可權 on 資料庫物件 to...

mysql 許可權管理

1.新增使用者 方法一 create user wangda localhost identified by password 000000 說明 建立乙個本地的使用者,使用者名為 wangda 密碼為 000000 如果密碼為空,則 identified by password 000000 這個...