MySQL5學習筆記(三)

2022-06-09 16:06:08 字數 1725 閱讀 5406

mysqld伺服器維護兩種變數。全域性變數(global)影響伺服器整體操作。會話變數(session)影響具體客戶端連線的操作。

當伺服器啟動時,它將所有全域性變數初始化為預設值。這些預設值可以在選項檔案中或在命令列中指定的選項進行更改。伺服器啟動後,通過連線伺服器並執行set global var_name語句,可以動態更改這些全域性變數。要想更改全域性變數,必須具有super許可權。

伺服器還為每個連線的客戶端維護一系列會話變數。在連線時使用相應全域性變數的當前值對客戶端的會話變數進行初始化。會話變數只能更改自己的會話變數,而不能更改其它客戶端的會話變數。

對於全域性變數的更改可以被訪問該全域性變數的任何客戶端看見。然而,它只影響更改後連線的客戶的從該全域性變數初始化的相應會話變數。不影響目前已經連線的客戶端的會話變數(即使客戶端執行set global語句也不影響)。

要想設定乙個global變數的值,使用下面的語法:

mysql> set global sort_buffer_size=value;

mysql> set @@global.sort_buffer_size=value;

要想設定乙個session變數的值,使用下面的語法:

mysql> set session sort_buffer_size=value;

mysql> set @@session.sort_buffer_size=value;

mysql> set sort_buffer_size=value;

如果設定變數時不指定global或者session,預設使用session。

要想檢索乙個global變數的值,使用下面的語法:

mysql> show global variables like 'sort_buffer_size';

要想檢索乙個session變數的值,使用下面的語法:

mysql> show session variables like 'sort_buffer_size';

你可以通過show variables語句檢視系統變數及其值。

mysql> show variables;

下面是一些系統變數的解釋,若沒有另行規定,緩衝區大小、長度和堆疊大小的單位均為位元組。

·· auto_increment_increment

auto_increment_increment和auto_increment_offset用於主伺服器-主伺服器(master-to-master)複製,並可以用來控制auto_increment列的操作。

··auto_increment_offset

確定auto_increment列值的起點。假定auto_increment_increment為10,auto_increment_offset為5,則插入後自增長索引為5,15,25。。。

··back_log

back_log值說明mysql臨時停止響應新請求前在短時間內可以堆起多少請求。

··basedir

mysql安裝基準目錄。可以用--basedir選項設定該變數。

··bdb_cache_size

表快取索引和行分配的緩衝區的大小。如果你不使用bdb表,你應用--skip-bdb啟動mysqld以便不浪費該快取。

··binlog_cache_size

在事務過程中容納二進位制日誌sql語句的快取大小。二進位制日誌快取是伺服器支援事務儲存引擎並且伺服器啟用了二進位制日誌(--log-bin選項)的前提下為每個客戶端分配的記憶體。如果你經常使用大的,多語句事務,你可以增加該值以獲得更有的效能。

mysql5無法注入 mysql5注入

對mysql5注入時,可以直接查詢information schema中的tables表,快速找到所需的表段。同時可以利用group concat函式,得到你想得到的東西,不用limit乙個乙個猜。前面先轉轉別人的東西 and 1 2 union select 1,2,group concat us...

MySQL5的異常處理

1.sample problem log of failures 問題樣例 故障記錄 當insert失敗時,我希望能將其記錄在日誌檔案中我們用來展示出錯處理的問題樣例是很普通的。我希望得到錯誤的記錄。當insert失敗時,我想在另乙個檔案中記下這些錯誤的資訊,例如出錯時間,出錯原因等。我對插入特別感...

mysql 5注入中group concat的使用

mysql中的information schema 結構用來儲存資料庫系統資訊 information schema 結構中這幾個表儲存的資訊,在注射中可以用到的幾個表。schemata 儲存資料庫名的,關鍵字段 schema name,表示資料庫名稱 tables 儲存表名的 關鍵字段 table...