日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysqlbinlog工具_mysqlbinlog命令详解 Part 1-实验环境准备

發布時間:2023/12/4 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysqlbinlog工具_mysqlbinlog命令详解 Part 1-实验环境准备 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面的一些章節我們對mysqldump常用命令進行了講解

這個專題的內容為mysqlbinlog命令的詳解

mysqlbinlog是mySQL中用來處理binlog的工具

1. MySQL二進制日志介紹

服務器的binlog包含一些event

這些event描述了數據庫內容的狀態,包含了數據修改,服務器重啟等,以二進制的格式寫入日志文件

這里和redo log相似,不過redo是存儲引擎層面的,而binlog是數據庫層面的

即一個MySQL不一定有redo日志 但一定有binlog(開啟)

可以使用mysqlbinlog工具來將二進制轉換為文本格式

同理我們也可以使用mysqlbinlog來處理relay log

2. 實驗環境準備

此次實驗的環境如下

  • MySQL 5.7.25
  • Redhat 6.10
  • binlog模式采用row模式

這里我們構造一些DML語句來演示mysqlbinlog如何工作的

2.1 重置binlog

我們使用如下命令重置binlog,方便我們觀察

SQL>reset master;SQL>show master status;

2.2 建立表

create database test; use testCREATE TABLE `innodb_table` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) NOT NULL,`age` tinyint(3) NOT NULL,PRIMARY KEY (`id`)) ENGINE=innodb DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

2.3 單條插入語句

INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'insert1', CEIL(RAND() * 110) ); INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'insert2', CEIL(RAND() * 110) ); INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'insert3', CEIL(RAND() * 110) );

2.4 單條更新語句

update innodb_table set name='update1' where id=1; update innodb_table set name='update2' where id=2; update innodb_table set name='update3' where id=3;

2.5 事務多條語句

START TRANSACTION; INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'trans_insert1', CEIL(RAND() * 110) ); INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'trans_insert2',CEIL(RAND() * 110) ); INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'trans_insert3', CEIL(RAND() * 110) ); update innodb_table set name='commit_update1' where id=1; update innodb_table set name='commit_update2' where id=2; update innodb_table set name='commit_update3' where id=3; COMMIT;

2.6 事務回滾語句

START TRANSACTION; INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'rooback_insert1', CEIL(RAND() * 110) ); update innodb_table set name='rollback_update1' where id=1; ROLLBACK;

2.6 event更新

event 更新數據請移步下面鏈接

mysqldump命令詳解 Part 1

2.7 procedure更新

procedure更新移步下面鏈接

MySQL測試數據的構造

好了,環境準備已經好了,大家按照上面的步驟執行

下屆開始講解mysqlbinlog的命令

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mysqlbinlog工具_mysqlbinlog命令详解 Part 1-实验环境准备的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。