1. 程式人生 > >MySQL 資料庫使用者角色相關操作

MySQL 資料庫使用者角色相關操作

一、mysql database user table

MySQL中有一個mysql 資料庫,其中的user資料表存放著資料庫對使用者角色的相關處理,但是單純的使用該表增刪插入,會造成一些問題,原因在於資料庫角色管理並不只在一張表裡,各表之間相互關聯。

二、使用使用者相關命令進行管理

相關概念:使用者名稱、主機號、使用者帳號
使用者帳號包括兩個部分一個是使用者名稱,一個是主機號,主機號是登陸mysql時的地址,本地登陸採用localhost;

1.新增使用者帳號並設定密碼

create user 'hanzhen'@'localhost' 
identified by
'123456';
grant usage on *.* to 'hanzhen'@'hanzhen_home' identified by '12345';
  • 上邊建立了一個兩個帳號,一個帳號是本地登陸,一個是hanzhen_home代表的主機號。密碼是各自登陸的密碼,要說明的是密碼是加密後儲存的。
  • grant 也可以建立,當未查詢到使用者名稱時會自動建立。不過還是建議先用create 建立
  • 查詢使用者帳號
    這裡寫圖片描述

2.刪除帳號

drop user '使用者名稱'@'主機號';

3.修改密碼

set password for 'hanzhen'
@'localhost'=password("123456789");

4.進行許可權控制

上邊建立資料庫時預設是給了使用者 usage on . 即對所有的資料庫和表無許可權(除了mysql 自帶檢視只讀資料庫information_schema)

  • 登陸建立帳號,檢視相關許可權
    登陸賬戶

  • [email protected] 賦予某個資料庫某個表的查詢,新增許可權,並進行測試
    (1)在root 賬戶下查詢myTest資料庫情況如下
    這裡寫圖片描述
    這裡寫圖片描述
    (2)為[email protected] 賦予myTest 資料庫student 表的檢視,更改許可權

grant
select,update on myTest.student to 'hanzhen'@'localhost';

  • (3)[email protected]再次檢視資料庫
    這裡寫圖片描述
    檢視資料表
    這裡寫圖片描述
    測試查詢,更改,刪除資料
    這裡寫圖片描述
    這裡寫圖片描述
    查詢修改均成功
    這裡寫圖片描述
    刪除提示無許可權。