一、MySQL日志的分類
(1)錯誤日志、(2)一般查詢日志、(3)慢查詢日志、(4)二進制日志、(5)中繼日志、(6)事務日志
二、檢視MySQL的日志參數變量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<code>mysql> SHOW GLOBAL VARIABLES LIKE </code><code>'%log%'</code><code>;</code>
<code>+-----------------------------------------+---------------------------------+</code>
<code>| Variable_name | Value |</code>
<code>| back_log | 50 |</code>
<code>| binlog_cache_size | 1048576 |</code>
<code>| binlog_direct_non_transactional_updates | OFF |</code>
<code>| binlog_format | MIXED |</code>
<code>| binlog_stmt_cache_size | 32768 |</code>
<code>| expire_logs_days | 0 |</code>
<code>| general_log | OFF |</code>
<code>| general_log_file | </code><code>/mydata/data/localhost</code><code>.log |</code>
<code>| innodb_flush_log_at_trx_commit | 1 |</code>
<code>| innodb_locks_unsafe_for_binlog | OFF |</code>
<code>| innodb_log_buffer_size | 8388608 |</code>
<code>| innodb_log_file_size | 268435456 |</code>
<code>| innodb_log_files_in_group | 3 |</code>
<code>| innodb_log_group_home_dir | ./ |</code>
<code>| innodb_mirrored_log_groups | 1 |</code>
<code>| log | OFF |</code>
<code>| log_bin | ON |</code>
<code>| log_bin_trust_function_creators | OFF |</code>
<code>| log_error | </code><code>/tmp/localhost</code><code>.err |</code>
<code>| log_output | FILE |</code>
<code>| log_queries_not_using_indexes | OFF |</code>
<code>| log_slave_updates | OFF |</code>
<code>| log_slow_queries | ON |</code>
<code>| log_warnings | 1 |</code>
<code>| max_binlog_cache_size | 18446744073709547520 |</code>
<code>| max_binlog_size | 1073741824 |</code>
<code>| max_binlog_stmt_cache_size | 18446744073709547520 |</code>
<code>| max_relay_log_size | 0 |</code>
<code>| relay_log | |</code>
<code>| relay_log_index | |</code>
<code>| relay_log_info_file | relay-log.info |</code>
<code>| relay_log_purge | ON |</code>
<code>| relay_log_recovery | OFF |</code>
<code>| relay_log_space_limit | 0 |</code>
<code>| slow_query_log | ON |</code>
<code>| slow_query_log_file | </code><code>/mydata/data/localhost-slow</code><code>.log |</code>
<code>| sql_log_bin | ON |</code>
<code>| sql_log_off | OFF |</code>
<code>| sync_binlog | 0 |</code>
<code>| sync_relay_log | 0 |</code>
<code>| sync_relay_log_info | 0 |</code>
<code>41 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
三、MySQL日志分類詳解
錯誤日志:
問題:
1、哪些參數可以定義錯誤日志
2、錯誤日志記錄了哪些資訊
3、如何檢視錯誤日志的記錄資訊
問題1:以下參數與定義錯誤日志相關
<code>log_error:定義是否啟用錯誤日志的功能和錯誤日志的存儲位置</code>
<code>log_warnings:定義是否将警告資訊也定義至錯誤日志中</code>
<code>[mysqld]</code>
<code>log_error = DIR/[filename]</code>
<code>解析:其中,DIR參數指定錯誤日志的路徑filename參數是錯誤日志的名稱,沒有指定該參數時預設為主機名。重新開機mysql伺服器即可生效。</code>
<code>例如:</code>
<code>log_error = </code><code>/tmp/localhost</code><code>.err</code>
問題2:錯誤日志記錄了以下資訊
<code>1. 伺服器啟動和關閉過程中的資訊</code>
<code>2. 伺服器運作過程中的錯誤資訊</code>
<code>3. 事件排程器運作一個事件時産生的資訊</code>
<code>4. 在主從複制模型當中,在從伺服器啟動或停止從伺服器中繼程序時所産生的日志資訊</code>
問題3:檢視錯誤日志
<code>1.初始化資料庫</code>
<code># /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ --basedir=/usr/local/mysql</code>
<code>2.啟動資料庫</code>
<code># service mysqld start</code>
<code>3.檢視錯誤日志資訊</code>
<code>[root@localhost ~]</code><code># cat localhost.com.err </code>
<code>150226 11:43:12 mysqld_safe mysqld from pid </code><code>file</code> <code>/mydata/data/localhost</code><code>.com.pid ended</code>
<code>150226 11:45:41 mysqld_safe Starting mysqld daemon with databases from </code><code>/mydata/data</code>
<code>150226 11:45:41 [Warning] Using unique option prefix myisam_recover instead of myisam-recover-options is deprecated and will be removed </code><code>in</code> <code>a future release. Please use the full name instead.</code>
<code>150226 11:45:41 [Note] Plugin </code><code>'FEDERATED'</code> <code>is disabled.</code>
<code>150226 11:45:41 InnoDB: The InnoDB memory heap is disabled </code><code>#禁用了InnoDB memory的堆功能。</code>
<code>150226 11:45:41 InnoDB: Mutexes and rw_locks use GCC atomic builtins </code><code>#Mutexes(互斥量)和rw_locks(行級鎖)是GCC編譯的是InnoDB内置的。</code>
<code>150226 11:45:41 InnoDB: Compressed tables use zlib 1.2.3 </code><code>#預設壓縮工具是zlib</code>
<code>150226 11:45:41 InnoDB: Using Linux native AIO</code>
<code>150226 11:45:41 InnoDB: Initializing buffer pool, size = 2.0G </code><code>#InnoDB引擎的緩沖池(buffer pool)的值大小</code>
<code>150226 11:45:42 InnoDB: Completed initialization of buffer pool</code>
<code>InnoDB: The first specified data </code><code>file</code> <code>.</code><code>/ibdata1</code> <code>did not exist:</code>
<code>InnoDB: a new database to be created!</code>
<code>150226 11:45:42 InnoDB: Setting </code><code>file</code> <code>.</code><code>/ibdata1</code> <code>size to 10 MB</code>
<code>InnoDB: Database physically writes the </code><code>file</code> <code>full: wait...</code>
<code>150226 11:45:42 InnoDB: Log </code><code>file</code> <code>.</code><code>/ib_logfile0</code> <code>did not exist: new to be created</code>
<code>InnoDB: Setting log </code><code>file</code> <code>.</code><code>/ib_logfile0</code> <code>size to 256 MB</code>
<code>InnoDB: Progress </code><code>in</code> <code>MB: 100 200</code>
<code>150226 11:45:43 InnoDB: Log </code><code>file</code> <code>.</code><code>/ib_logfile1</code> <code>did not exist: new to be created</code>
<code>InnoDB: Setting log </code><code>file</code> <code>.</code><code>/ib_logfile1</code> <code>size to 256 MB</code>
<code>150226 11:45:44 InnoDB: Log </code><code>file</code> <code>.</code><code>/ib_logfile2</code> <code>did not exist: new to be created</code>
<code>InnoDB: Setting log </code><code>file</code> <code>.</code><code>/ib_logfile2</code> <code>size to 256 MB</code>
<code>InnoDB: Doublewrite buffer not found: creating new</code>
<code>InnoDB: Doublewrite buffer created</code>
<code>InnoDB: 127 rollback segment(s) active.</code>
<code>InnoDB: Creating foreign key constraint system tables</code>
<code>InnoDB: Foreign key constraint system tables created</code>
<code>150226 11:45:46 InnoDB: Waiting </code><code>for</code> <code>the background threads to start</code>
<code>150226 11:45:47 InnoDB: 5.5.33 started; log sequence number 0</code>
<code>150226 11:45:47 [Note] Server </code><code>hostname</code> <code>(bind-address): </code><code>'0.0.0.0'</code><code>; port: 3306</code>
<code>150226 11:45:47 [Note] - </code><code>'0.0.0.0'</code> <code>resolves to </code><code>'0.0.0.0'</code><code>; </code><code>#0.0.0.0會反解主機名,這裡反解失敗</code>
<code>150226 11:45:47 [Note] Server socket created on IP: </code><code>'0.0.0.0'</code><code>.</code>
<code>150226 11:45:47 [Note] Event Scheduler: Loaded 0 events 事件排程器沒有任何事件,因為沒有裝載。</code>
<code>150226 11:45:47 [Note] </code><code>/usr/local/mysql/bin/mysqld</code><code>: ready </code><code>for</code> <code>connections. </code><code>#mysql啟動完成等待用戶端的請求。</code>
<code>Version: </code><code>'5.5.33-log'</code> <code>socket: </code><code>'/tmp/mysql.sock'</code> <code>port: 3306 MySQL Community Server (GPL) </code><code>#建立一個本地sock用于本地連接配接。</code>
一般查詢日志:
1、一般查詢日志與哪些參數變量相關
2、一般查詢日志作用,是否要開啟此日志
問題1:以下參數與一般查詢日志相關
<code>general_log:定義是否開啟查詢日志</code>
<code>general_log_file:定義查詢日志檔案存放的路徑</code>
<code>log:是否開啟所有日志功能</code>
<code>log_output {TABLE|FILE|NONE}:日志的輸出的位置</code>
<code>log_output:日志的輸出位置</code>
<code>如果此項為TABLE,那麼日志錯輸入到表中,如下:</code>
<code>mysql> use mysql;</code>
<code>Database changed</code>
<code>mysql> show tables;</code>
<code>+---------------------------+</code>
<code>| Tables_in_mysql |</code>
<code>| columns_priv |</code>
<code>| db |</code>
<code>| event |</code>
<code>| func |</code>
<code>| general_log | </code><code>#一般查詢日志的table表</code>
<code>| help_category |</code>
<code> </code><code>......</code>
<code>+-------------------------</code>
問題2:一般查詢日志的作用,是否開啟此日志
<code>預設情況下查詢日志是關閉的。由于查詢日志會記錄使用者的所有操作,其中還包含增删查改等資訊,在并發操作大的環境下會産生大量的資訊進而導緻不必要的磁盤IO,會影響mysql的性能的。如若不是為了調試資料庫的目的建議不要開啟查詢日志。</code>
慢查詢日志:
1、哪些參數與慢查詢日志相關
2、什麼是慢查詢
3、定義、查詢慢查詢參數
問題1:哪些參數與慢查詢日志相關
<code>long_query_time:定義慢查詢的事件</code>
<code>log_slow_queries={ON|OFF}:是否開啟慢查詢</code>
<code>slow_query_log:開啟慢查詢</code>
<code>slow_query_log_file=</code><code>/PATH/TO/SOMEFILE</code><code>:定義慢查詢檔案的存放路徑</code>
問題2:什麼是慢查詢
<code>慢查詢日志是用來記錄執行時間超過指定時間的查詢語句。通過慢查詢日志,可以查找出哪些查詢語句的執行效率很低,以便進行優化。一般建議開啟,它對伺服器性能的影響微乎其微,但是可以記錄</code>
<code>mysql伺服器上執行了很長時間的查詢語句。可以幫助我們定位性能問題的。</code>
問題3:定義、查詢慢查詢參數
<code>log_slow_queries = ON</code>
<code>long_query_time = 2</code>
<code>slow_query_log_file = </code><code>/tmp/mysql_slow_query</code><code>.log</code>
<code>mysql> SHOW GLOBAL VARIABLES LIKE </code><code>'%slow%'</code><code>;</code>
<code>+---------------------+---------------------------+</code>
<code>| Variable_name | Value |</code>
<code>| log_slow_queries | ON |</code>
<code>| slow_launch_time | 2 |</code>
<code>| slow_query_log | ON |</code>
<code>| slow_query_log_file | </code><code>/tmp/mysql_slow_query</code><code>.log |</code>
<code>mysql> SHOW GLOBAL VARIABLES LIKE </code><code>'%long%'</code><code>;</code>
<code>+---------------------------------------------------+----------+</code>
<code>| Variable_name | Value |</code>
<code>| long_query_time | 2.000000 |</code>
<code>| max_long_data_size | 16777216 |</code>
<code>| performance_schema_events_waits_history_long_size | 10000 |</code>
<code>3 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
二進制日志
補充:2015-02-28
在對資料庫進行恢複的時候,建議session級别的關閉二進制日志!
資料恢複執行的DDL、DML、DCL操作沒必要記錄到二進制檔案中
磁盤IO會影響恢複的時間
<a href="http://s3.51cto.com/wyfs02/M02/59/F1/wKioL1TxKijjBNS3AAPQsHy_EmE246.jpg" target="_blank"></a>
<code>mysql> </code><code>set</code> <code>session sql_log_bin = 0;</code>
<code>mysql> show session variables like </code><code>'%sql_log_bin%'</code><code>;</code>
<code>+---------------+-------+</code>
<code>| Variable_name | Value |</code>
<code>| sql_log_bin | OFF |</code>
<code>1 row </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
中繼日志:
<code>從伺服器上,從主伺服器複制主伺服器的二進制日志檔案中複制而來的事件,并儲存為的日志檔案。</code>
<code>mysql> show global variables like </code><code>'%relay_log%'</code><code>;</code>
<code>+-----------------------+----------------+</code>
<code>| Variable_name | Value |</code>
<code>| max_relay_log_size | 0 |</code>
<code>| relay_log | |</code>
<code>| relay_log_index | |</code>
<code>| relay_log_info_file | relay-log.info |</code>
<code>| relay_log_purge | ON |</code>
<code>| relay_log_recovery | OFF |</code>
<code>| relay_log_space_limit | 0 |</code>
<code>| sync_relay_log | 0 |</code>
<code>| sync_relay_log_info | 0 |</code>
事務日志:ACID,将随機IO轉換成順序IO
<code>事務性存儲引擎用于保證原子性、一緻性、隔離性和持久性</code>
<code>記錄了每一次和事務執行過程當中對資料修改的資訊</code>
<code>innodb_flush_log_at_trx_commit</code>
<code> </code><code>0:每秒同步,并執行磁盤flush操作</code>
<code> </code><code>1:每事務同步,并執行磁盤刷寫;預設為1(安全性高 保證事務不會丢失)</code>
<code> </code><code>2:每事務同步,但不執行磁盤flush操作;(效能高,但是資料不能得到保證)</code>
<code>mysql> show global variables like </code><code>'%innodb_log%'</code><code>;</code>
<code>+---------------------------+---------+</code>
<code>| Variable_name | Value |</code>
<code>| innodb_log_buffer_size | 8388608 | </code><code>#事務日志的buffer大小</code>
<code>| innodb_log_file_size | 5242880 | </code><code>#事務日志檔案的大小</code>
<code>| innodb_log_files_in_group | 2 | </code><code>#事務日志檔案組的個數</code>
<code>| innodb_log_group_home_dir | ./ | </code><code>#事務日志存放路徑;資料目錄(--datadir)</code>
四、MySQL存儲引擎MyISAM和InnoDB的比較
MyISAM
<code>不支援事務</code>
<code>不支援外鍵</code>
<code>預設僅支援表鎖,鎖力度太大導緻并發能力不強</code>
<code>共享鎖(讀鎖)對于讀操作比較多的場景當中,MyISAM存儲引擎有了更強的性能,但是對于讀寫操作都比較适中的情況下,反而性能很差。</code>
<code>支援B樹索引、FULLTEXT索引、空間索引</code>
<code>支援表壓縮</code>
InnoDB
<code>事務性引擎</code>
<code>行級鎖,鎖力度精細</code>
<code>支援B樹索引、聚簇索引、自适應</code><code>hash</code><code>索引</code>
<code>表空間、raw磁盤裝置(裸裝置)</code>
五、MySQL參數變量詳解
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<code>expire_logs_days={0..99}</code>
<code>設定二進制日志的過期天數,超出此天數的二進制日志檔案将被自動删除。預設為0,表示不啟用過期自動删除功能。如果啟用此功能,自動删除工作通常發生在MySQL啟動時或FLUSH日志時。作用範圍為全局,可用于配置檔案,屬動态變量。</code>
<code> </code>
<code>general_log={ON|OFF}</code>
<code>設定是否啟用查詢日志,預設值為取決于在啟動mysqld時是否使用了--general_log選項。如若啟用此項,其輸出位置則由--log_output選項進行定義,如果log_output的值設定為NONE,即使用啟用查詢日志,其也不會記錄任何日志資訊。作用範圍為全局,可用于配置檔案,屬動态變量。</code>
<code> </code>
<code>general_log_file=FILE_NAME</code>
<code>查詢日志的日志檔案名稱,預設為“</code><code>hostname</code><code>.log"。作用範圍為全局,可用于配置檔案,屬動态變量。</code>
<code>binlog-</code><code>format</code><code>={ROW|STATEMENT|MIXED}</code>
<code>指定二進制日志的類型,預設為STATEMENT。如果設定了二進制日志的格式,卻沒有啟用二進制日志,則MySQL啟動時會産生警告日志資訊并記錄于錯誤日志中。作用範圍為全局或會話,可用于配置檔案,且屬于動态變量。</code>
<code>log={YES|NO}</code>
<code>是否啟用記錄所有語句的日志資訊于一般查詢日志(general query log)中,預設通常為OFF。MySQL 5.6已經棄用此選項。</code>
<code>log-bin={YES|NO}</code>
<code>是否啟用二進制日志,如果為mysqld設定了--log-bin選項,則其值為ON,否則則為OFF。其僅用于顯示是否啟用了二進制日志,并不反應log-bin的設定值。作用範圍為全局級别,屬非動态變量。</code>
<code>log_bin_trust_function_creators={TRUE|FALSE}</code>
<code>此參數僅在啟用二進制日志時有效,用于控制建立存儲函數時如果會導緻不安全的事件記錄二進制日志條件下是否禁止建立存儲函數。預設值為0,表示除非使用者除了CREATE ROUTING或ALTER ROUTINE權限外還有SUPER權限,否則将禁止建立或修改存儲函數,同時,還要求在建立函數時必需為之使用DETERMINISTIC屬性,再不然就是附帶READS SQL DATA或NO SQL屬性。設定其值為1時則不啟用這些限制。作用範圍為全局級别,可用于配置檔案,屬動态變量。</code>
<code>log_error=</code><code>/PATH/TO/ERROR_LOG_FILENAME</code>
<code>定義錯誤日志檔案。作用範圍為全局或會話級别,可用于配置檔案,屬非動态變量。</code>
<code>log_output={TABLE|FILE|NONE}</code>
<code>定義一般查詢日志和慢查詢日志的儲存方式,可以是TABLE、FILE、NONE,也可以是TABLE及FILE的組合(用逗号隔開),預設為TABLE。如果組合中出現了NONE,那麼其它設定都将失效,同時,無論是否啟用日志功能,也不會記錄任何相關的日志資訊。作用範圍為全局級别,可用于配置檔案,屬動态變量。</code>
<code>log_query_not_using_indexes={ON|OFF}</code>
<code>設定是否将沒有使用索引的查詢操作記錄到慢查詢日志。作用範圍為全局級别,可用于配置檔案,屬動态變量。</code>
<code>log_slave_updates</code>
<code>用于設定複制場景中的從伺服器是否将從主伺服器收到的更新操作記錄進本機的二進制日志中。本參數設定的生效需要在從伺服器上啟用二進制日志功能。</code>
<code>log_slow_queries={YES|NO}</code>
<code>是否記錄慢查詢日志。慢查詢是指查詢的執行時間超出long_query_time參數所設定時長的事件。MySQL 5.6将此參數修改為了slow_query_log。作用範圍為全局級别,可用于配置檔案,屬動态變量。</code>
<code>log_warnings=</code><code>#</code>
<code>設定是否将警告資訊記錄進錯誤日志。預設設定為1,表示啟用;可以将其設定為0以禁用;而其值為大于1的數值時表示将新發起連接配接時産生的“失敗的連接配接”和“拒絕通路”類的錯誤資訊也記錄進錯誤日志。</code>
<code>long_query_time=</code><code>#</code>
<code>設定差別慢查詢與一般查詢的語句執行時間長度。這裡的語句執行時長為實際的執行時間,而非在CPU上的執行時長,是以,負載較重的伺服器上更容易産生慢查詢。其最小值為0,預設值為10,機關是秒鐘。它也支援毫秒級的解析度。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。</code>
<code>max_binlog_cache_size{4096 .. 18446744073709547520}</code>
<code>二進定日志緩存空間大小,5.5.9及以後的版本僅應用于事務緩存,其上限由max_binlog_stmt_cache_size決定。作用範圍為全局級别,可用于配置檔案,屬動态變量。</code>
<code>max_binlog_size={4096 .. 1073741824}</code>
<code>設定二進制日志檔案上限,機關為位元組,最小值為4K,最大值為1G,預設為1G。某事務所産生的日志資訊隻能寫入一個二進制日志檔案,是以,實際上的二進制日志檔案可能大于這個指定的上限。作用範圍為全局級别,可用于配置檔案,屬動态變量。</code>
<code>max_relay_log_size={4096..1073741824}</code>
<code>設定從伺服器上中繼日志的體積上限,到達此限度時其會自動進行中繼日志滾動。此參數值為0時,mysqld将使用max_binlog_size參數同時為二進制日志和中繼日志設定日志檔案體積上限。作用範圍為全局級别,可用于配置檔案,屬動态變量。</code>
<code>innodb_log_buffer_size={262144 .. 4294967295}</code>
<code>設定InnoDB用于輔助完成日志檔案寫操作的日志緩沖區大小,機關是位元組,預設為8MB。較大的事務可以借助于更大的日志緩沖區來避免在事務完成之前将日志緩沖區的資料寫入日志檔案,以減少I</code><code>/O</code><code>操作進而提升系統性能。是以,在有着較大事務的應用場景中,建議為此變量設定一個更大的值。作用範圍為全局級别,可用于選項檔案,屬非動态變量。</code>
<code>innodb_log_file_size={108576 .. 4294967295}</code>
<code>設定日志組中每個日志檔案的大小,機關是位元組,預設值是5MB。較為明智的取值範圍是從1MB到緩存池體積的1</code><code>/n</code><code>,其中n表示日志組中日志檔案的個數。日志檔案越大,在緩存池中需要執行的檢查點刷寫操作就越少,這意味着所需的I</code><code>/O</code><code>操作也就越少,然而這也會導緻較慢的故障恢複速度。作用範圍為全局級别,可用于選項檔案,屬非動态變量。</code>
<code>innodb_log_files_in_group={2 .. 100}</code>
<code>設定日志組中日志檔案的個數。InnoDB以循環的方式使用這些日志檔案。預設值為2。作用範圍為全局級别,可用于選項檔案,屬非動态變量。</code>
<code>innodb_log_group_home_dir=</code><code>/PATH/TO/DIR</code>
<code>設定InnoDB重做日志檔案的存儲目錄。在預設使用InnoDB日志相關的所有變量時,其預設會在資料目錄中建立兩個大小為5MB的名為ib_logfile0和ib_logfile1的日志檔案。作用範圍為全局級别,可用于選項檔案,屬非動态變量。</code>
<code>relay_log=file_name</code>
<code>設定中繼日志的檔案名稱,預設為host_name-relay-bin。也可以使用絕對路徑,以指定非資料目錄來存儲中繼日志。作用範圍為全局級别,可用于選項檔案,屬非動态變量。</code>
<code>relay_log_index=file_name</code>
<code>設定中繼日志的索引檔案名,預設為為資料目錄中的host_name-relay-bin.index。作用範圍為全局級别,可用于選項檔案,屬非動态變量。</code>
<code>relay-log-info-</code><code>file</code><code>=file_name</code>
<code>設定中繼服務用于記錄中繼資訊的檔案,預設為資料目錄中的relay-log.info。作用範圍為全局級别,可用于選項檔案,屬非動态變量。</code>
<code>relay_log_purge={ON|OFF}</code>
<code>設定對不再需要的中繼日志是否自動進行清理。預設值為ON。作用範圍為全局級别,可用于選項檔案,屬動态變量。</code>
<code>relay_log_space_limit=</code><code>#</code>
<code>設定用于存儲所有中繼日志檔案的可用空間大小。預設為0,表示不限定。最大值取決于系統平台位數。作用範圍為全局級别,可用于選項檔案,屬非動态變量。</code>
<code>slow_query_log={ON|OFF}</code>
<code>設定是否啟用慢查詢日志。0或OFF表示禁用,1或ON表示啟用。日志資訊的輸出位置取決于log_output變量的定義,如果其值為NONE,則即便slow_query_log為ON,也不會記錄任何慢查詢資訊。作用範圍為全局級别,可用于選項檔案,屬動态變量。</code>
<code>slow_query_log_file=</code><code>/PATH/TO/SOMEFILE</code>
<code>設定慢查詢日志檔案的名稱。預設為</code><code>hostname</code><code>-slow.log,但可以通過--slow_query_log_file選項修改。作用範圍為全局級别,可用于選項檔案,屬動态變量。</code>
<code>sql_log_bin={ON|OFF}</code>
<code>用于控制二進制日志資訊是否記錄進日志檔案。預設為ON,表示啟用記錄功能。使用者可以在會話級别修改此變量的值,但其必須具有SUPER權限。作用範圍為全局和會話級别,屬動态變量。</code>
<code>sql_log_off={ON|OFF}</code>
<code>用于控制是否禁止将一般查詢日志類資訊記錄進查詢日志檔案。預設為OFF,表示不禁止記錄功能。使用者可以在會話級别修改此變量的值,但其必須具有SUPER權限。作用範圍為全局和會話級别,屬動态變量。</code>
<code>sync_binlog=</code><code>#</code>
<code>設定多久同步一次二進制日志至磁盤檔案中,0表示不同步,任何正數值都表示對二進制每多少次寫操作之後同步一次。當autocommit的值為1時,每條語句的執行都會引起二進制日志同步,否則,每個事務的送出會引起二進制日志同步。</code>
附加一個附屬變量圖
<a href="http://s3.51cto.com/wyfs02/M00/59/E2/wKioL1Tuvouz8qrlAAk_x5ICXwc125.jpg" target="_blank"></a>
如何大家對MySQL的變量感興趣的,可以參考馬哥的部落格連結如下:
MySQL 5.5 伺服器變量詳解(一)
<a href="http://mageedu.blog.51cto.com/4265610/1058357" target="_blank">http://mageedu.blog.51cto.com/4265610/1058357</a>
MySQL 5.5 伺服器變量詳解(二)
<a href="http://mageedu.blog.51cto.com/4265610/1062628" target="_blank">http://mageedu.blog.51cto.com/4265610/1062628</a>
本文轉自zys467754239 51CTO部落格,原文連結:http://blog.51cto.com/467754239/1615385,如需轉載請自行聯系原作者