mysql數據庫之用戶管理和權限

mysql服務器進程在啓動的時候會讀取這6張表,並在內存中生成受權表,因此這幾個文件是直接加載進內存的。mysql

之後後續的任何用戶登陸及其訪問權限的檢查都經過檢查這6張表來實現的。經過訪問內存上所生成的結構信息來完成。sql

user :包含用戶帳號、全局權限以及其餘的非權限字段數據庫

db :數據庫級別權限的定義服務器

host :廢棄!網絡

tables_priv :表級別權限ide

columns_priv :列級別權限函數

procs_priv :存儲過程和存儲函數相關的權限spa

proxies_priv :代理用戶權限代理

 

用戶帳號進程

    用戶名@主機

         用戶名:16字符之內

           主機:主機名、IP、網絡地址、通配符(%_

--skip-name-resolve :跳過主機名解析(在登陸時使用)

 

權限級別

全局級別:

庫級別

表級別

列級別

存儲過程和存儲函數

 

建立用戶

create  權限   用戶名@主機名   identified   by  "密碼"

flush  privileges;  重讀受權表,讀取用戶信息

show  grants  for  用戶名@'主機名'; 查看用戶帳戶信息

 

修改管理員密碼

退出並關閉mysql :service  mysql   stop

手動修改啓動文件:/etc/init.d/mysql  修改第283

添加:

--skip-grant-tables :跳過受權表

--skip-networking :跳過網絡

 

啓動mysql服務:service mysql  start 

use  mysql   :指定數據庫

select  User,Host,Password  from  user;    :查看用戶表

update  user   set   Password=PASSWORD('密碼')  where  User='root';  :手動修改密碼

退出數據庫,關閉服務!

修改/etc/init.d/mysql,把添加的那兩行刪除

再從新啓動服務,就能夠登錄了

相關文章
相關標籤/搜索