1028.995天:MySQL 的binlog

#每日三件事,第995天#

最近在學習MySQL,安裝了CentOS7.9的虛擬機和5.7的MySQL。爲什麼安裝5.7呢?僅僅是因爲目前還有很多用在用這個版本而已。

第一次聽到MySQL的主從配置,是一個用戶說他們的MySQL是讀寫分離的。一臺數據庫負責寫,另外一臺數據庫負責讀取。負擔了數據庫的負載,同時也備份了數據,保證了安全性。

在網絡安全等級保護的標準裏,數據備份恢復控制點裏面有一條:c)應提供重要數據處理系統的熱冗餘,保證系統的高可用性。對與數據來講,就需要冗餘備份,實現高可用性。讀寫分離的主從配置就可以滿足這項標準的要求。

MySQL實現數據的同步,主要是通過binlog來實現。啓用binlog需要修改配置文件/etc/my.cnf啓用binlog日誌:

      server-id =1

     log-bin=/var/lib/mysql/mysql-bin

然後重新啓動mysqld服務,登錄mysql之後就可以查看binlog是否啓用。

mysql> show variables like "log%" ;

+----------------------------------------+--------------------------------+

| Variable_name                                             | Value                                              |

+----------------------------------------+--------------------------------+

| log_bin                                                         | ON                                                   |

| log_bin_basename                                     | /var/lib/mysql/mysql-bin                |

| log_bin_index                                             | /var/lib/mysql/mysql-bin.index      |

看到log_bin ON,就說明binlog已經開啓。

binlog日誌其實是記錄了用戶對數據庫的操作動作,根據binlog的日誌,可以對數據庫進行數據恢復。尤其是誤操作的時候。

show master status : 查看當前正在寫入的binlog文件:

mysql> show master status ;

+------------------+----------+--------------+------------------+-------------------+

| File                          | Position.   | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000002 |      154     |                         |                                |                                   |

+------------------+----------+--------------+------------------+-------------------+

show binlog events ,show binlog events in 'mysql-bin.000001'都可以查看當前寫入binlog的事件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章