mysql 使用者 MySQL使用者與許可權的管理詳解

2021-10-17 07:02:02 字數 1703 閱讀 2387

使用者連線到mysql,可以做各種查詢,這都是mysql使用者與許可權功能在背後維持著操作。

使用者與資料庫伺服器互動資料,分為兩個階段:

(1)你有沒有權連線上來

(2)你有沒有權執行本操作

1、你有沒有權連線上來

伺服器如何判斷使用者有沒有權連線上來?

依據:1)你從**來?host

2)你是誰?user

3)你的密碼是多少?password

使用者的這三個資訊,儲存在mysql庫中的user表中。

修改host域,使ip可以連線

mysql>update user set host='192.168.137.123' where user = 'root';

mysql>flush privileges; --沖刷許可權

修改使用者密碼

mysql>update user set password=password('11111111') where ***;

mysql>flush privileges; --沖刷許可權

2、你有沒有權執行本操作

在mysql中,有乙個庫是mysql庫,在這個庫中有三個表,乙個是user表,user表中儲存了所有使用者的許可權資訊。乙個是db表,db表儲存的是所有使用者在資料庫層的許可權資訊。乙個是tables_priv表,tables_priv表儲存的是所有使用者在表層的許可權資訊。

使用者登入,user表首先能限制使用者登入,其次還儲存了該使用者的全域性許可權,如果該使用者沒有任何許可權,那麼將從db表中查詢該使用者是否有某個資料庫的操作許可權,如果都沒有,將從table_priv表中查詢該使用者是否有某個表的操作許可權,如果有,則該使用者可以按照已有的許可權來操作該錶。

1)全域性授權和收回

全域性授權格式:

grant [許可權1,許可權2,許可權3] on *.* to user@'host' identified by 'password'

常用許可權:all、create、drop、select、insert、delete、update

授權:建立lisi使用者,host為192.168.191.%,%萬用字元表示192.168.191.***結尾的主機都可以連線,密碼為12345678。

grant all on *.* to lisi@'192.168.191.%' identified by '12345678';

收回許可權:

revoke all on *.* from lisi@'192.168.191.%';

2)資料庫級授權和收回

需求:讓lisi使用者擁有mysqlmaster資料庫的所有操作許可權

授權:grant all on mysqlmaster.* to lisi@'192.168.191.%' identified by '12345678';

收回:revoke all on mysqlmaster.* from lisi@'192.168.191.%';

3)表級授權和收回

需求:讓lisi使用者具有mysqlmaster資料庫下的goods表的insert、update、select三個操作的許可權。

授權:grant insert,update,select on mysqlmaster.goods to lisi@'192.168.191.%' identified by '12345678';

收回:revoke insert,update,select on mysqlmaster.goods from lisi@'192.168.191.%';

mysql使用者多少合適 MySQL使用者與許可權

使用者連線到mysql,並做各種查詢,在使用者和伺服器中間分為兩個階段 1 使用者是否有權連線上來 2 使用者是否有權執行此操作 如select,update等等 先看第乙個階段 伺服器如何判斷使用者是否有權連線上來 依據三個引數 你從哪來?host 你是誰?user 你的密碼是多少?passwor...

mysql使用者執行緒 MySQL 使用者連線與使用者執行緒

pig已經好長一段時間沒有分享文章了,有點對不起訂閱的朋友。最近在做比較複雜跟困難的事情,也並不一定最終會有成果,因此必須對此沉默。停了一段時間,現在定個小目標 2個星期至少寫一篇小文章,簡單講清楚乙個小細節。希望自己最後堅持下來。回題,mysql是多執行緒的資料庫,每個應用會話連線到資料庫時,會使...

mysql使用者登入 mysql使用者註冊與登陸案例

先在mysql中建立乙個資料庫,這裡資料庫名為py demo 建立乙個表,這裡名為py users create table py users id int unsigned auto increment not null primary key,uname varchar 20 not null,...