1. 程式人生 > >26,MySQL 8.0參考手冊 5.4.1選擇常規查詢和慢速查詢日誌輸出目的地

26,MySQL 8.0參考手冊 5.4.1選擇常規查詢和慢速查詢日誌輸出目的地

5.4.1選擇常規查詢和慢速查詢日誌輸出目的地


如果啟用了這些日誌,則MySQL伺服器可以靈活地控制輸出到普通查詢日誌和慢速查詢日誌的目標。日誌條目的可能目標是日誌檔案或 資料庫中的general_log和 slow_log表mysql。可以選擇任一個或兩個目的地。


伺服器啟動時的日誌控制。 該--log-output選項指定日誌輸出的目的地。該選項本身不會啟用日誌。它的語法是 : --log-output[=value,...]


如果--log-output給定值,則該值應該是一個或多個單詞TABLE(記錄到表), FILE(記錄到檔案)或 NONE(不記錄到表或檔案)的以逗號分隔的列表。 NONE如果存在的話,優先於任何其他說明符。


如果--log-output省略,則預設日誌記錄目標為FILE。


該general_log系統變數控制記錄到一般查詢日誌選定的日誌目的地。如果在伺服器啟動時指定, general_log則使用1或0的可選引數來啟用或禁用日誌。要指定檔案記錄的預設檔名以外的其他檔名,請設定 general_log_file變數。同樣,slow_query_log 變數控制記錄到所選目標的緩慢查詢日誌並設定 slow_query_log_file指定檔案記錄的檔名。如果啟用了任一日誌,則伺服器將開啟相應的日誌檔案並向其寫入啟動訊息。但是,除非FILE選擇了日誌目標,否則不會進一步將查詢記錄到檔案。


例子:


要將常規查詢日誌條目寫入日誌表和日誌檔案,請使用 --log-output=TABLE,FILE選擇兩個日誌目標並 --general_log啟用常規查詢日誌。


要將常規和慢查詢日誌條目僅寫入日誌表,請使用--log-output=TABLE 選擇表作為日誌目標, --general_log並 --slow_query_log啟用兩個日誌。


要僅將慢速查詢日誌條目寫入日誌檔案,請使用 --log-output=FILE選擇檔案作為日誌目標並 --slow_query_log啟用慢速查詢日誌。(在這種情況下,由於預設日誌目的地是FILE,您可以省略該 --log-output選項。)


執行時的日誌控制。與日誌表和檔案關聯的系統變數支援執行時控制日誌記錄:


全域性log_output系統變數指示當前的日誌記錄目標。它可以在執行時修改以更改目標。


全域性變數general_log和 slow_query_log變數指示常規查詢日誌和慢查詢日誌是啟用(ON)還是禁用(OFF)。您可以在執行時設定這些變數來控制是否啟用日誌。


全域性 變數general_log_file 和slow_query_log_file變數指示一般查詢日誌和慢速查詢日誌檔案的名稱。您可以在伺服器啟動時或執行時設定這些變數以更改日誌檔案的名稱。


要禁用或啟用當前連線的常規查詢記錄,請將會話sql_log_off變數設定 為 ON或OFF。


使用表格進行日誌輸出具有以下好處:


日誌條目具有標準格式。要顯示日誌表的當前結構,請使用以下語句:
  • SHOW
    CREATE TABLE mysql.general_log; SHOW CREATE TABLE mysql.slow_log;
日誌內容可通過SQL語句訪問。這使得能夠使用僅選擇滿足特定標準的日誌條目的查詢。例如,要選擇與特定客戶端關聯的日誌內容(這可以用於識別來自該客戶端的有問題的查詢),使用日誌表比日誌檔案更容易。


可以通過任何可連線到伺服器併發出查詢的客戶端(如果客戶端具有適當的日誌表許可權)遠端訪問日誌。沒有必要登入到伺服器主機並直接訪問檔案系統。


日誌表實現具有以下特徵:


一般來說,日誌表的主要目的是為使用者提供一個介面,以觀察伺服器的執行時執行情況,而不會干擾其執行時執行。


CREATE TABLE, ALTER TABLE並且 DROP TABLE是日誌表上的有效操作。對於ALTER TABLE 和DROP TABLE,日誌表不能被使用,並且必須被禁用,如後面所述。


預設情況下,日誌表使用CSV 以逗號分隔值格式寫入資料的儲存引擎。對於有權訪問 .CSV包含日誌表資料的檔案的使用者,這些檔案很容易匯入其他程式,例如可處理CSV輸入的電子表格。


日誌表可以更改為使用 MyISAM儲存引擎。您不能使用它 ALTER TABLE來更改正在使用的日誌表。日誌必須先禁用。除日誌表以外CSV或 沒有其他引擎MyISAM合法的日誌表。


要禁用日誌記錄以便可以更改(或刪除)日誌表,可以使用以下策略。該示例使用通用查詢日誌; 慢查詢日誌的過程類似,但使用slow_log表和 slow_query_log系統變數。
學什麼專業好
  • SET @old_log_state = @@global.general_log;
    SET GLOBAL general_log = 'OFF';
    ALTER TABLE mysql.general_log ENGINE = MyISAM;
    SET GLOBAL general_log = @old_log_state;
  • TRUNCATE TABLE是日誌表上的有效操作。它可以用來過期日誌條目。

  • RENAME TABLE是日誌表上的有效操作。您可以使用以下策略以原子方式重新命名日誌表(例如,執行日誌輪轉):

    USE mysql;
    DROP TABLE IF EXISTS general_log2;
    CREATE TABLE general_log2 LIKE general_log; RENAME TABLE general_log TO general_log_backup, general_log2 TO general_log;
  • CHECK TABLE 是日誌表上的有效操作。

  • LOCK TABLES 不能在日誌表上使用

  • INSERT, DELETE並且 UPDATE不能在日誌表上使用。這些操作只能在伺服器內部進行。

  • FLUSH TABLES WITH READ LOCK並且read_only 系統變數的狀態對日誌表沒有影響。伺服器始終可以寫入日誌表。

  • 寫入日誌表的條目不寫入二進位制日誌,因此不會複製到從屬伺服器。

  • 要重新整理日誌表或日誌檔案,分別使用 FLUSH TABLES或 FLUSH LOGS。

  • 不允許對日誌表進行分割槽。

  • 一個mysqldump的轉儲包括報表中重新建立這些表,以便它們不會重新載入轉儲檔案後失蹤。日誌表內容不會被轉儲。

相關推薦

26MySQL 8.0參考手冊 5.4.1選擇常規查詢查詢日誌輸出目的地

5.4.1選擇常規查詢和慢速查詢日誌輸出目的地如果啟用了這些日誌,則MySQL伺服器可以靈活地控制輸出到普通查詢日誌和慢速查詢日誌的目標。日誌條目的可能目標是日誌檔案或 資料庫中的general_log和 slow_log表mysql。可以選擇任一個或兩個目的地。伺服器啟動時

26MySQL 8.0參考手冊 5.1.13伺服器關閉程序

伺服器停止接受新的連線。為防止在關閉期間啟動新活動,伺服器通過關閉它通常監聽連線的網路介面的處理程式來停止接受新的客戶端連線:TCP / IP埠,Unix套接字檔案,Windows命名管道和Windows上的共享記憶體。伺服器終止當前活動。對於與客戶端連線關聯的每個執行緒,伺服器都會中斷到客戶端的連線並將該執

28MySQL 8.0參考手冊 5.4.2.2預設錯誤日誌目標配置

本節討論哪些伺服器選項可配置預設錯誤日誌目標,該目標可以是控制檯或命名檔案。它還指示哪些日誌寫入器元件將其自己的輸出目標基於預設目標。在此討論中,“ 控制檯 ”表示 stderr標準錯誤輸出。這是您的終端或控制檯視窗,除非標準錯誤輸出已被重定向到不同的目的地。對於Window

27MySQL 8.0參考手冊 5.3 mysql系統資料庫

5.3 mysql系統資料庫該mysql資料庫是系統資料庫。它包含儲存MySQL伺服器執行時所需的資訊的表。廣泛的分類是 mysql資料庫包含儲存資料庫物件元資料的資料字典表以及用於其他操作目的的系統表。以下討論進一步將系統表集合細分為更小的類別。資料字典表授予系統表物件資訊

25MySQL 8.0參考手冊 5.1.10 MySQL伺服器時區支援

MySQL伺服器維護幾個時區設定:系統時區。當伺服器啟動時,它會嘗試確定主機的時區並使用它來設定system_time_zone系統變數。該值此後不會改變。您可以在啟動時使用mysqld_safe 選項為MySQL伺服器設定系統時區 。您也可以在啟動mysqld之前通過設定環

27MySQL 8.0參考手冊 5.2 MySQL資料目錄

由MySQL伺服器管理的資訊儲存在稱為資料目錄的目錄下。以下列表簡要描述了通常在資料目錄中找到的專案,其中包含交叉參考以獲取更多資訊:資料目錄子目錄。資料目錄的每個子目錄都是資料庫目錄,並對應於伺服器管理的資料庫。所有MySQL安裝都有一些標準資料庫:該mysql目錄對應於

15MySQL 8.0參考手冊 4.6.8 mysqlbinlog

4.6.8.1 mysqlbinlog十六進位制轉儲格式4.6.8.2 mysqlbinlog行事件顯示4.6.8.3使用mysqlbinlog備份二進位制日誌檔案4.6.8.4指定mysqlbinlog伺服器ID伺服器的二進位制日誌由包含描述資料庫內容修改的“ 事件 ”的檔

10、MySQL 8.0參考手冊 4.5.5 mysqlimport

shell> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test shell> ed a 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q shell>

10、MySQL 8.0參考手冊 4.5.4 mysqldump

shell> mysqldump --xml -u root world City <?xml version="1.0"?> <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <databa

10、MySQL 8.0參考手冊 4.5.2 mysqladmin

mysqladmin是執行管理操作的客戶端。您可以使用它來檢查伺服器的配置和當前狀態,建立和刪除資料庫等。像這樣 呼叫mysqladmin:hell> mysqladmin [options] command [command-arg] [command [comman

1MySQL 8.0參考手冊

本章通過展示如何使用mysql客戶端程式來建立和使用簡單的資料庫,提供了MySQL的教程介紹。mysql(有時稱為“ 終端監視器 ”或 “ 監視器 ”)是一種互動式程式,可讓您連線到MySQL伺服器,執行查詢並檢視結果。 mysql也可以用於批處理模式:事先將查詢放入檔案中,

MySQL 8.0 參考手冊》第 14 章 MySQL 資料字典

文章目錄 14.1 資料字典模式 資料字典升級過程 使用 MySQL 除錯版本檢視資料字典表 14.2 刪除基於檔案的元資料 14.3 事務型資料字典 14.4 資料字典快取 14.5 I

8MySQL 8.0參考手冊 常見查詢的例子

CREATE TABLE shop ( article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL, dealer CHAR(20) DEFAULT '' NOT NULL, price

MySQL 8.0 自帶的4個系統資料庫介紹

information_schema:這個資料庫儲存了mysql伺服器所有資料庫的資訊。比如資料庫的名、資料庫的表、訪問許可權、資料庫表的資料型別,資料庫索引的資訊等等。 performance_schema:主要用於收集資料庫伺服器效能引數,可用於監控伺服器在一個較低級別的執行過程中的資源消耗、資源等待等

如何在CentOS 7/6RHEL 7/6Fedora 28/27/26上安裝MySQL 8.0

MySQL是一個免費的開源資料庫管理系統,常用於Web應用程式中,用於儲存和檢索記錄和資訊。 新增MySQL儲存庫 MySQL不再通過基本作業系統映像分發或在OS儲存庫中可用。 因此,您需要新增MySQL的官方儲存庫來安裝MySQL社群伺服器。 ### CentOS 7 / RHEL 7 ###

MySQL 8.0 正式版釋出MySQL 5.7 快 2 倍!

點選上方“CSDN”,選擇“置頂公眾號”關鍵時刻,第一時間送達!MySQL 8.0 正式版 8.

安裝mysql 8.0版本時使用front連接報1251錯誤或者navicat 連接報錯2059解決方案

with clas 解決 ring class func eve 刷新 IE 這個錯誤出現的原因是在mysql8之前的版本中加密規則為mysql_native_password,而在mysql8以後的加密規則為caching_sha2_password。 解決此問題有兩

安裝mysql 8.0版本時使用navicat 連接報1251錯誤解決方案

sha cal TE roo oot string XP 規則 nat 今天安裝mysql8 使用navicat 連接時報錯 1251 這個錯誤出現的原因是在mysql8之前的版本中加密規則為mysql_native_password,而在mysql8以後的加密規則為ca

Centos 6.5 Install Mysql 8.0.0

查看 https 立即生效 生效 app 下載 升級 chmod border 依賴包 yum install numactl libaio perl-Time-HiRes per-devel -y 下載對應系統版本下載 wget http://cdn.mysql.com/

MySQL 5.7、MySQL 8.0 yum 源

arch redhat 6 pre rpm ase key mysq -m serve CentOS 6/Redhat 6 [mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mys