mysql知识库管理开源_MySQL之用戶管理

主要為了控制權限,讓不同開發者,僅能操作屬於自己的業務范圍內的數據

創建mysql賬戶

賬戶中涉及的三個數據

賬戶名、密碼、ip地址

ip是用於限制某個賬戶只能在哪個機器上登錄

------------------------第一種方式---------------------------

# 創建user語法:

create user 用戶名@客戶端主機地址或網段 identified by 密碼

例如:

create user "plf"@"localhost" identified by "123456";

查看創建用戶

select user,password,host from mysql.user;

mysql.user表 與用戶相關信息

mysql.db表 用戶的數據庫權限信息

mysql.tables_priv表 用戶的表權限

columns_priv 表 用戶的字段權限

# 授權用戶語法:

grant [權限1,...權限n|all] on *.* to 用戶名@客戶端主機地址或網段;

例如:

grant all on *.* to "plf"@localhost;

刷新權限

flush privileges;

------------------------第二種方式---------------------------

grant [權限1,...權限n|all] on *.* to 用戶名@主機地址 identified by 密碼;

刷新權限

flush privileges;

# 測試

都在root權限下查看

create database day42 charset utf8;

use day42;

create table day42.a(id int);

grant all on day42.* to lt@localhost identified by "123456";

flush privileges;

select user,password,host from mysql.user;

select user,host from mysql.db;

select user,host from mysql.tables_priv;

select user,host from mysql.columns_priv;

# 收回權限

----------------------第1種方式:直接刪除用戶---------------------

drop user 用戶名@主機

----------------------第2種方式:回收權限---------------------

revoke all on *.* from 用戶名@主機名;

# 問題?

如果授權了一個all權限的用戶A,然后利用A去創建一個新用戶並授權all,能夠行的通?

答案是行不通的。

可以通過root用戶的如下sql,創建A用戶。然后A用戶就可以創建其他用戶了

grant all on day42.* to lt@localhost identified by "123456" with grant option;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值