mysql權限管理 就是對控制用戶對庫、對錶的權限、對錶中字段權限mysql
權限管理分步sql
1.建立帳號數據庫
建立帳號有本地帳號和遠程帳號服務器
本地帳號ide
本地帳號只能在mysql服務端機器作操做spa
create user 'mike'@'localhost' identified by '123'; # mysql -umike -p123 create user 'mike'@'127.0.0.1' identified by '123'; # mysql -umike -p123
格式code
create user '帳號名'@'ip或者127.0.0.1或者localhost' identified by '密碼';
遠程帳號blog
遠程帳號:這臺機器跑mysql服務端,mysql客戶端想遠程登陸服務端,我就要在mysql服務端爲mysql客戶端建立遠程帳號,容許客戶端登陸過來。ip
192.168.1.2 是mysql客戶端table
192.168.1.1 是mysql 服務端
create user 'mike'@'192.168.1.2' identified by '123'; # mysql客戶端執行命令 mysql -umike -p123 -h 192.168.1.1
-h 指定mysql服務端ip,前提是客戶端ip與服務器ip能夠ping通
若是想建立一個帳號,這個帳號能夠容許在某個網段機器均可以登陸,
對192.168.1.0網段的全部ip 建立一個mysql 帳號使用 用於登陸mysql服務端
% 表明任意意思
create user 'mike'@'192.168.1.%' identified by '123'; # mysql -umike -p123 -h 192.168.1.1
% 全部ip 均可以登陸mysql服務端
create user 'mike'@'%' identified by '123'; # mysql -umike -p123 -h 192.168.1.1
2.受權
具體有4張表
這幾張表控制權限力度
user表 控制權限力度是 *.* #該表放行的權限,針對:全部數據,全部庫下全部表,以及表下的全部字段 db表 例如db1.* #該表放行的權限,針對:某一數據庫,該數據庫下的全部表,以及表下的全部字段 tables_priv表 db1.t1 #該表放行的權限。針對:某一張表,以及該表下的全部字段 columns_priv表 字段 id,name #該表放行的權限,針對:某一個字段
user表一放行,全部庫,全部的表都放行