MySQL預設庫及讀寫檔案

2021-10-19 14:26:23 字數 3359 閱讀 1201

在mysql中,把 information_schema 看作是乙個資料庫,確切說是資訊資料庫。其中儲存著關於mysql伺服器所維護的所有其他資料庫的資訊。如資料庫名,資料庫的表,字段型別與訪問權 限等。

查詢資料庫、表名、欄位等資訊

# 爆所有使用者

select group_concat(user) from mysql.user;

# 爆所有資料庫

select group_concat(schema_name) from information_schema.schemata;

# 爆當前資料庫的表名

select group_concat(table_name) from information_schema.tables where table_schema=database();

# 表中有主碼約束,非空約束等完整性約束條件的情況下 爆表名

select group_concat(table_name) from information_schema.table_constraints where table_schema=database();

# 爆欄位名(表名是 users,加引號或十六進製制編碼)

select group_concat(column_name) from information_schema.columns where table_name='users';

select group_concat(column_name) from information_schema.columns where table_name=0x7573657273;

# 爆欄位內容

select first_name,password from users;

這個是mysql的核心資料庫,類似於sql server中的master表,主要負責儲存資料庫的使用者、許可權設定、關鍵字等mysql自己需要使用的控制和管理資訊。不可以刪除,如果對mysql不是很了解,也不要輕易修改這個資料庫裡面的表資訊。

mysql 5.5開始新增乙個資料庫:performance_schema,主要用於收集資料庫伺服器效能引數。並且庫里表的儲存引擎performance_schema,而使用者是不能建立儲存引擎為performance_schema的表。

sys庫所有的資料來源來自:performance_schema。目標是把performance_schema的把複雜度降低,讓dba能更好的閱讀這個庫里的內容,讓dba更快的了解db的運**況。(詳情)

(1)資料庫允許匯入匯出(secure_file_priv不為null)

檢視資料庫是否開啟匯入匯出:

說明:secure_file_priv是用來限制load_file、load data和select outfile操作哪個指定目錄。

我這裡預設是/var/lib/mysql-files,可以通過以下方式修改:

vi /etc/mysql/mysql.conf.d/mysqld.cnf
在最後新增

secure file priv=''
重啟mysql服務:

service mysql restart
(2)當前使用者的檔案操作許可權(file_priv:y)

​ 檢視當前使用者是否具有檔案讀寫許可權:

load_file()和load data infile讀取檔案的方法為:新建乙個表,讀取檔案為字串形式插入表中,然後讀出表中資料。

system cat後加檔案路徑。

select 』 』 into outfile如:

目標:dvwa的admin使用者的password

在hashcat資料夾新建

hash.txt(儲存要破解的hash值)

password.txt(儲存密碼字典)

使用cmd進入hashcat所在目錄,用以下命令進行破解:

hashcat -a 0 -m 0 hash.txt password.txt
-a 0 代表使用字典破解模式

-m 0 代表hash type為md5

結果:

破解記錄在hashcat.potfile檔案中可查

或可直接使用字典進行破解

hashcat -a 0 5f4dcc3b5aa765d61d8327deb882cf99 password.txt
結果一致。

[1] 安裝初始化mysql後,預設幾個庫介紹

[2] sql注入讀寫檔案

[3] 資料庫系統表相關學習

[4] hashcat詳細使用教程

MySQL之重要的預設庫別刪及烏龍分享

因為還是學生的原因,資料庫中有之前練習的示例庫,今天打算清理一下的時候有個大烏龍,記錄下來免得以後再忘記 1 開心刪庫 登入mysql後我就show databases 先看看之前建的庫,然後先刪了些類似db 1這樣命名的庫,drop database 庫名稱 一切順利。因為時間太久,我忘記mysq...

mysql讀寫檔案

如何將檔案儲存到資料庫中呢,其實並不是想象中那麼難 主要的思路就是將檔案用byte陣列儲存,在資料庫中用 blob longblob mediumblob,他們是是乙個可以儲存 二進位制檔案 三者中的任意格式儲存就ok啦!下面看檔案具體如何寫入資料庫 eg string picname e bitm...

mysql讀取檔案 mysql讀寫檔案

1 需要條件 secure file priv不為null 1 限制mysqld 不允許匯入 匯出 secure file priv null或secure file priv 2 限制mysqld 的匯入 匯出 只能發生在 tmp 目錄下 secure file priv tmp 3 不對mysq...