生活随笔
收集整理的這篇文章主要介紹了
mysql dba系统学习(5)二进制日志binlog之一
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一,二進制日志文件的作用 ??
? ? Mysql的二進制日志記錄的是所有mysql數據庫發生變更的信息,因此對數據庫非常重要,二進制日志的作用我概括了一下主要包含如下幾個方面:
1、可以用于數據庫基于時間點的還原。
2、可以用來分析數據庫發生更改的情況,比如程序的bug導致數據庫數據更改等等。
3、二進制日志還可以用來重建數據庫。
? ?
???二,二進制日志相關的變量和參數
??
?三,配置二進制日志
1,開啟bin-log日志,在my.cnf中修改
? 指定了bin-log日志的路徑,開啟日志后需要myssqladmin flush log才生效,重啟后我們發現在剛才設定的路徑新增了log文件,這就是我們需要的二進制日志
? ?log-bin=/tmp/mysql-bin
?2,啟動二進制文件的mysql服務
? ?[root@test4 /]# mysqld_safe ?--defaults-file=/etc/my.cnf ?--log-bin=/tmp/1.0001 --log-bin-index=/tmp/logbin.index ?--max-binlog-size=10M --binlog-do-db=test?
3,二進制日志index文件的內容
? mysql> system ?cat ?/tmp/logbin.index
? ?/tmp/1.000001
? ?/tmp/1.000002
?四,管理二進制日志?
1,查看是否打開二進制日志文件的功能
?mysql> show ?variables like "%log_bin%";
+---------------------------------+-------+
| Variable_name ? ? ? ? ? ? ? ? ? | Value |
+---------------------------------+-------+
| log_bin ? ? ? ? ? ? ? ? ? ? ? ? | ON ? ?|
| log_bin_trust_function_creators | OFF ? |
| log_bin_trust_routine_creators ?| OFF ? |
| sql_log_bin ? ? ? ? ? ? ? ? ? ? | ON ? ?|
+---------------------------------+-------+
2,查看二進制文件的情況
mysql> show master logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000001 | ? ? ? 141 |
| 1.000002 | ? ? ? 106 |
+----------+-----------+
2 rows in set (0.00 sec)
mysql> show binary logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000001 | ? ? ? 141 |
| 1.000002 | ? ? ? 106 |
+----------+-----------+
2 rows in set (0.00 sec)
3,切換二進制文件
mysql> flush logs;
Query OK, 0 rows affected (0.02 sec)
mysql> show binary logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000001 | ? ? ? 141 |
| 1.000002 | ? ? ? 141 |
| 1.000003 | ? ? ? 106 |
+----------+-----------+
3 rows in set (0.01 sec)
4,刪除或者初始化二進制文件
mysql> reset master;
Query OK, 0 rows affected (0.03 sec)
mysql> show binary logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000001 | ? ? ? 106 |
+----------+-----------+
1 row in set (0.00 sec)
5,刪除指定的二進制文件
mysql> purge binary logs to '1.000003';?刪除二進制文件1.000001和1.000002
Query OK, 0 rows affected (0.48 sec)
mysql> show binary logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000003 | ? ? ? 141 |
| 1.000004 | ? ? ? 141 |
| 1.000005 | ? ? ? 141 |
| 1.000006 | ? ? ? 141 |
| 1.000007 | ? ? ? 141 |
| 1.000008 | ? ? ? 106 |
+----------+-----------+
6,指定二進制日志失效期
mysql> show variables like "%expire%";
+------------------+-------+
| Variable_name ? ?| Value |
+------------------+-------+
| expire_logs_days | 0 ? ? |
+------------------+-------+
1 row in set (0.01 sec)
mysql> set global ?expire_logs_days=5;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like "%expire%";
+------------------+-------+
| Variable_name ? ?| Value |
+------------------+-------+
| expire_logs_days | 5 ? ? |
+------------------+-------+
1 row in set (0.00 sec)
本文出自 “好好活著” 博客,請務必保留此出處http://wolfword.blog.51cto.com/4892126/1287742
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的mysql dba系统学习(5)二进制日志binlog之一的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。