mysql 版本:mysql-5.7
1.在/etc/my.cnf 中添加如下內容:
#錯誤日志: -log-err log-error=/usr/local/mysql-5.7.23-linux-glibc2.12-x86_64/log/error.log #查詢日志: -log general-log=ON general-log-file=/usr/local/mysql-5.7.23-linux-glibc2.12-x86_64/log/general.log #慢查詢日志: -log-slow-queries # 執行超過1秒的sql會被log下來 long_query_time=1 # 開啟慢查詢 slow_query_log=on # 將查詢執行時間較慢的語句進行記錄 #log-slow-queries=/usr/local/mysql-5.7.23-linux-glibc2.12-x86_64/log/slow.log slow-query-log-file=/usr/local/mysql-5.7.23-linux-glibc2.12-x86_64/log/slow.log #二進制日志: -log-bin server_id=100 log-bin=/usr/local/mysql-5.7.23-linux-glibc2.12-x86_64/log/bin.log
2.重啟mysql
/etc/init.d/mysqld restart
3.查看日志目錄
重啟后並對mysql進行了簡單的查詢操作,error.log 保存了標准錯誤輸出,general.log 保存了查詢記錄
[mysql@ns1 log]$ ll 總用量 28 -rw-r----- 1 mysql mysql 154 9月 17 12:46 bin.000001 -rw-r----- 1 mysql mysql 62 9月 17 12:46 bin.index -rw-r----- 1 mysql mysql 4569 9月 17 12:46 error.log -rw-r----- 1 mysql mysql 4853 9月 17 12:49 general.log -rw-r----- 1 mysql mysql 410 9月 17 12:46 slow.log
附:
什么是二進制日志?
用來記錄操作MySQL數據庫中的寫入性操作(增刪改,但不包括查詢),相當於sqlserver中的完整恢復模式下的事務日志文件。
二進制日志的作用?
1,用於復制,配置了主從復制的時候,主服務器會將其產生的二進制日志發送到slave端,slave端會利用這個二進制日志的信息在本地重做,實現主從同步
2,用戶恢復,MySQL可以在全備和差異備份的基礎上,利用二進制日志進行基於時間點或者事物Id的恢復操作。原理雷同於主從復制的日志重做。
1)日志狀態查詢
mysql> show variables like'log_%';
+----------------------------------------+--------------------------------------------------------------+
| Variable_name | Value |
+----------------------------------------+--------------------------------------------------------------+
| log_bin | ON |
| log_bin_basename | /usr/local/mysql-5.7.23-linux-glibc2.12-x86_64/log/bin |
| log_bin_index | /usr/local/mysql-5.7.23-linux-glibc2.12-x86_64/log/bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| log_builtin_as_identified_by_password | OFF |
| log_error | /usr/local/mysql-5.7.23-linux-glibc2.12-x86_64/log/error.log |
| log_error_verbosity | 3 |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| log_statements_unsafe_for_binlog | ON |
| log_syslog | OFF |
| log_syslog_facility | daemon |
| log_syslog_include_pid | ON |
| log_syslog_tag | |
| log_throttle_queries_not_using_indexes | 0 |
| log_timestamps | UTC |
| log_warnings | 2 |
+----------------------------------------+--------------------------------------------------------------+
21 rows in set (0.00 sec)
2)當前二進制狀態
mysql> show master status; +------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------+----------+--------------+------------------+-------------------+ | bin.000001 | 154 | | | | +------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec) mysql>
3)二進制日志查詢
mysql> show master logs; +------------+-----------+ | Log_name | File_size | +------------+-----------+ | bin.000001 | 154 | +------------+-----------+ 1 row in set (0.00 sec) mysql>
