MySQL 5.7開啟并查看biglog的詳細教程
biglog簡介
binlog 就是binary log,二進制日志文件,這個文件記錄了MySQL所有的DML操作。通過binlog日志我們可以做數(shù)據(jù)恢復(fù),增量備份,主主復(fù)制和主從復(fù)制等等。
binlog使用詳細步驟
1.修改mysql配置文件
vi /etc/my.cnf
[mysqld]下增加如下配置
log-bin=mysql-bin server-id=1
說明:log-bin
指定了binlog的前綴名,server-id
必須唯一且不同于其他MySQL服務(wù)器
2.重啟mysql
centos重啟示例
systemctl restart mysqld
3.操作數(shù)據(jù)庫
往數(shù)據(jù)庫中的某個表新增一條記錄或者創(chuàng)建表都會往biglog文件中寫入內(nèi)容
4.查看binglog
cd /var/lib/mysql/mysql-bin ll -la
可以看到會有類似mysql-bin.000001的文件生成
drwxr-x--x. 6 mysql mysql 4096 3月 13 22:44 . drwxr-xr-x. 27 root root 4096 8月 29 2023 .. -rw-r-----. 1 mysql mysql 56 8月 29 2023 auto.cnf -rw-------. 1 mysql mysql 1680 8月 29 2023 ca-key.pem -rw-r--r--. 1 mysql mysql 1112 8月 29 2023 ca.pem -rw-r--r--. 1 mysql mysql 1112 8月 29 2023 client-cert.pem -rw-------. 1 mysql mysql 1680 8月 29 2023 client-key.pem -rw-r-----. 1 mysql mysql 283 3月 13 22:40 ib_buffer_pool -rw-r-----. 1 mysql mysql 12582912 3月 13 22:42 ibdata1 -rw-r-----. 1 mysql mysql 50331648 3月 13 22:42 ib_logfile0 -rw-r-----. 1 mysql mysql 50331648 8月 29 2023 ib_logfile1 -rw-r-----. 1 mysql mysql 12582912 3月 13 22:42 ibtmp1 drwxr-x---. 2 mysql mysql 4096 8月 29 2023 mysql -rw-r-----. 1 mysql mysql 962 3月 13 22:42 mysql-bin.000001 -rw-r-----. 1 mysql mysql 19 3月 13 22:40 mysql-bin.index srwxrwxrwx. 1 mysql mysql 0 3月 13 22:40 mysql.sock -rw-------. 1 mysql mysql 5 3月 13 22:40 mysql.sock.lock drwxr-x---. 2 mysql mysql 8192 8月 29 2023 performance_schema -rw-------. 1 mysql mysql 1680 8月 29 2023 private_key.pem -rw-r--r--. 1 mysql mysql 452 8月 29 2023 public_key.pem -rw-r--r--. 1 mysql mysql 1112 8月 29 2023 server-cert.pem -rw-------. 1 mysql mysql 1680 8月 29 2023 server-key.pem drwxr-x---. 2 mysql mysql 8192 8月 29 2023 sys drwxr-x---. 2 mysql mysql 58 3月 13 22:41 test
直接查看binlog可以看到有很多亂碼
正確查看方式是使用命令查看
4.1mysqlbinlog示例:
mysqlbinlog -v /var/lib/mysql/mysql-bin.000001
也可以把內(nèi)容寫入到文件中
4.2mysqlbinlog將biglog寫入文件示例:
mysqlbinlog -v /var/lib/mysql/mysql-bin.000001 > /opt/mysql-bin-000001.txt
示例中將binlog寫入了文件 /opt/mysql-bin-000001.txt中
此時,查看文件/opt/mysql-bin-000001.txt就沒有亂碼了,但是和執(zhí)行sql還是有差異的
4.2.1創(chuàng)建表生成的biglog示例:
#240313 22:41:55 server id 1 end_log_pos 667 CRC32 0x5b0f29d8 Query thread_id=3 exec_time=0 error_code=0 use `test`/*!*/; SET TIMESTAMP=1710340915/*!*/; CREATE TABLE `test`.`t_table` (^M `id` int(0) NOT NULL,^M `name` varchar(255) NULL,^M `address` varchar(255) NULL,^M `create_time` datetime(0) NULL,^M `update_time` datetime(0) NULL,^M PRIMARY KEY (`id`)^M )
說明,第一行是時間戳,240313表示2024年3月13日
22:41:55表示具體時間
下面是創(chuàng)建表語句
4.2.2插入表生成的biglog示例
#240313 22:42:19 server id 1 end_log_pos 931 CRC32 0x038eed84 Write_rows: table id 101 flags: STMT_END_F BINLOG ' S7vxZRMBAAAAPAAAAGADAAAAAGUAAAAAAAEABHRlc3QAB3RfdGFibGUABQMPDxISBv8A/wAAAB7D vV1G S7vxZR4BAAAAQwAAAKMDAAAAAGUAAAAAAAEAAgAF/+ABAAAACHpoYW5nc2FuB2JlaWppbmeZsttq jpmy22qRhO2OAw== '/*!*/; ### INSERT INTO `test`.`t_table` ### SET ### @1=1 ### @2='zhangsan' ### @3='beijing' ### @4='2024-03-13 22:42:14' ### @5='2024-03-13 22:42:17' # at 931 #240313 22:42:19 server id 1 end_log_pos 962 CRC32 0xb2c0a6e7 Xid = 62 COMMIT/*!*/;
4.2.3更新表biglog示例
#240313 23:04:34 server id 1 end_log_pos 1558 CRC32 0xfbe11994 Update_rows: table id 102 flags: STMT_END_F BINLOG ' gsDxZRMBAAAAPAAAAKUFAAAAAGYAAAAAAAEABHRlc3QAB3RfdGFibGUABQMPDxISBv8A/wAAAB6l yfEH gsDxZR8BAAAAcQAAABYGAAAAAGYAAAAAAAEAAgAF///gAQAAAAh6aGFuZ3NhbgdiZWlqaW5nmbLb ao6ZsttqkeABAAAADHpoYW5nc2FuLTg4OBBiZWlqaW5nLWNoYW95YW5nmbLbao6ZsttxIpQZ4fs= '/*!*/; ### UPDATE `test`.`t_table` ### WHERE ### @1=1 ### @2='zhangsan' ### @3='beijing' ### @4='2024-03-13 22:42:14' ### @5='2024-03-13 22:42:17' ### SET ### @1=1 ### @2='zhangsan-888' ### @3='beijing-chaoyang' ### @4='2024-03-13 22:42:14' ### @5='2024-03-13 23:04:34'
特別說明:where與set之間都是原始值,set后面都是更新后的值
到此這篇關(guān)于MySQL 5.7開啟并查看biglog的詳細教程的文章就介紹到這了,更多相關(guān)MySQL 5.7開啟并查看biglog內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql?in索引慢查詢優(yōu)化實現(xiàn)步驟解析
這篇文章主要為大家介紹了mysql?in慢查詢優(yōu)化實現(xiàn)步驟的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05JDBC-idea導(dǎo)入mysql連接java的jar包(mac)的方法
這篇文章主要介紹了JDBC-idea導(dǎo)入mysql連接java的jar包(mac)的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09MySQL Lock wait timeout exceeded錯誤
“Lock wait timeout exceeded” 是一個常見的MySQL錯誤,指示了潛在的性能問題或死鎖,本文就來介紹一下如何解決,感興趣的可以了解一下2024-05-05asp+mysql+utf8 網(wǎng)頁出現(xiàn)亂碼問題的解決方法
無論在網(wǎng)頁中加多少UTF8的定義,顯示的結(jié)果都還是會有一些小格子,反而定義為gb2312,顯示完全正常2014-03-03