回覆列表
  • 1 # 小小猿愛嘻嘻

    這個非常簡單,MySQL資料庫的使用者資訊、資料庫資訊和登入IP資訊通常都儲存在系統資料庫中,可以直接經過查詢得到,下面我簡單介紹一下,以MySQL5.5為例:

    查詢所有使用者

    這個直接執行“select user,host from user;”語句就行,如下,第一列為使用者名稱,第二列為允許登入的IP,%表示任意IP都可登入,localhost則只允許本地登入:

    查詢使用者許可權

    這個直接執行“ show grants for "user"@"host"; ”命令就行,如下,以root使用者為例,則直接執行“ show grants for "root"@"localhost"; ”命令,all表示所有許可權,select表示只查許可權,update表示只改許可權,delete表示只刪許可權等:

    資料庫資訊

    這個主要儲存在information_schema資料庫中,它通常儲存著MySQL資料庫所維護的所有資料庫資訊,包括資料庫名,資料表名,表欄的資料型別與訪問許可權等,下面我簡單介紹一下:

    查詢所有資料庫

    這個直接執行“show databases;”命令就行,如下,會列出當前MySQL資料庫中儲存的所有資料庫,檢視某一個數據庫下所有資料表的話,執行“show tables;”命令就行:

    檢視資料庫大小

    以test資料庫為例,計算單位為MB,直接執行“select concat(round(sum(data_length)/(1024*1024),2)+round(sum(index_length)/(1024*1024),2),"MB") as "DB Size" from tables where table_schema="test";”命令就行,如下:

    檢視資料庫編碼

    這個直接執行“show variables like "character%";”命令就行,如下,character_set_client為客戶端編碼,character_set_connection為建立連線編碼,character_set_database為資料庫編碼,character_set_results為結果集編碼,character_set_server為資料庫伺服器編碼;

    登入IP資訊

    這裡通常是檢視連線MySQL資料庫的IP資訊,統計每個IP的連線數,執行“select SUBSTRING_INDEX(host,":",1) as ip , count(*) from information_schema.processlist group by ip”命令就行,如下,第一列為IP地址,第二列為該IP下的連線數:

    至此,我們就完成了查詢MySQL資料庫的使用者資訊、資料庫資訊和登入IP資訊。總的來說,整個過程非常簡單,只要你有一定的MySQL基礎,熟悉一下相關文件和說明,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

  • 中秋節和大豐收的關聯?
  • 微軟Xbox Series X遊戲主機會在2020感恩節期間上市嗎?