mysql 客戶服務號 MySQL的使用者和許可權介紹

2021-10-17 15:39:08 字數 2157 閱讀 6033

一、關於mysql許可權的幾點常識:

1、mysql的許可權系統主要用來驗證使用者的操作許可權。

2、在mysql內部,許可權資訊存放在mysql資料庫的granttable裡。當mysql啟動後,granttable裡的資訊會寫入記憶體。

3、mysql 使用user name 加 host name 來作為識別符號。

通過這種識別符號,可以用來區分不同host上的相同的user name。

4、mysql 許可權控制有2種策略:

1)根據密碼是否正確來控制客戶端的連線。

2)假設可以正常connect,server還可以檢查每個satement是否有許可權去執行。如果只有某張表的select 許可權,就不能進行drop 操作。

5、如果使用者的許可權改變,當前已連線的會話使用者不會受影響,下次登入才會生效。

二、關於mysql的幾個有關許可權表的含義:

user:使用者賬號、全域性許可權

db:庫級別許可權

host:廢棄

tables_priv:表級別許可權

colums_priv:列級別許可權

proxies_priv:**使用者許可權

三、mysql使用者賬號的建立規則

使用者名稱@主機

使用者名稱:16字元以內

主機:主機名:www.test.com,mysql

ip:192.168.2.1

萬用字元:%,192.168.%.%,%.test.com

四、mysql的使用者許可權級別

服務管理類:super

庫:create

表:delete、alter

列:insert、select、update

五、與許可權相關的幾個命令

grant 許可權,... on [物件型別] db. to 'username'@'host' [indentified by 'password'];

revoke 許可權,... on [物件型別] db. from 'username'@'host';

show grants for 'username'@'host';

create user 'username'@'host' [identified by 'password'];

drop user 'username'@'host';

rename user old_name to new_name;

六、許可權的操作命令舉例

檢視當前資料庫的所有使用者:

select user,host,password from mysql.user;

給使用者賦予super許可權(super和all privileges都可以):

grant super on *.* to 'mysql'@'localhost';

grant all privileges on *.* to 'mysql'@'localhost';

刪除使用者的super許可權(super和all privileges都可以):

revoke super on *.* from 'mysql'@'localhost';

revoke all privileges on *.* from 'mysql'@'localhost';

檢視賦予使用者的許可權

show grants for 'mysql'@'localhost';

七、mysql的問題處理

1、mysql登入密碼忘記時的恢復操作

啟動mysql_safe時傳遞兩個引數:

--skip-grant-tables      跳過授權表

--skip-networking       為了安全,防止網路登入

登入方式一:

修改/etc/init.d/mysql

登入方式二:

直接在my.cnf配置

[mysqld]

skip-grant-tables

skip-networking

而後修改密碼:

通過更新授權表方式直接修改其密碼,而後移除此兩個選項重啟伺服器

update user set password=password('123456') where user='root'

2、客戶端連線mysql資料庫速度慢的問題

直接在my.cnf配置,關閉dns的反向解析引數

[mysqld]

skip-name-resolve

MySQL客戶端 伺服器架構

mysql的伺服器程式直接和我們儲存的資料打交道,客戶端程式連線伺服器,傳送增刪改查的請求,伺服器操作維護的資料響應請求。mysql伺服器程式的程序也被稱為mysql資料庫例項。我們啟動的mysql伺服器程序的預設名稱是mysqld,而常用的mysql客戶端程序預設名稱為mysql。不論通過哪種方式...

mysql客戶端配置 MySQL客戶端配置和使用

安裝mysql sudo apt get install mysql server 這個應該很簡單了,而且我覺得大家在安裝方面也沒什麼太大問題,所以也就不多說了,下面我們來講講配置。配置mysql 注意,在ubuntu下mysql預設是只允許本地訪問的,如果你要其他機器也能夠訪問的話,那麼需要改變 ...

mysql 記錄號 MySQL 簡單記錄訊號處理

碼版本 5.7.29 簡單記錄訊號如何生效的。poll收到訊號後如何中斷後如何處理的,需要確認。一初始化訊號處理方式,設定訊號的處理的處理方式,遮蔽某些訊號,並且繼承到子執行緒 pthread sigmask 主要遮蔽的為sigterm sigquit sighup sigtstp四個。其他訊號按照...