当前位置: 首页 > news >正文

东莞网站建设模板设计/河南网站seo推广

东莞网站建设模板设计,河南网站seo推广,安阳做网站哪家好,牛天下网站建设MySQL 5.1 中,在復制(Replication)方面的改進就是引進了新的複制技術:基於行的複制。 簡言之,這種新技術就是關注表中發生變化的記錄,而非以前的照抄 binlog 模式。 從 MySQL 5.1.12 開始,可以用以下三種模式來實現&am…

MySQL 5.1 中,在復制(Replication)方面的改進就是引進了新的複制技術:基於行的複制。 簡言之,這種新技術就是關注表中發生變化的記錄,而非以前的照抄 binlog 模式。 從 MySQL 5.1.12 開始,可以用以下三種模式來實現:基於SQL語句的複制(statement-based replication, SBR),基於行的複制(row-based replication, RBR),混合模式複制(mixed-based replication, MBR)。 相應地,binlog的格式也有三種:STATEMENT,ROW,MIXED。MBR 模式中,SBR 模式是默認的。

在運行時可以動態低改變binlog的格式,除了以下幾種情況:

1. 存儲過程或者觸發器中間

2. 啟用了NDB

3. 當前會話試用 RBR 模式,並且已打開了臨時表

如果binlog採用了 MIXED 模式,那麼在以下幾種情況下會自動將binlog的模式由 SBR 模式改成 RBR 模式。

1. 當DML語句更新一個NDB表時

2. 當函數中包含 UUID() 時

3. 2個及以上包含 AUTO_INCREMENT 字段的表被更新時

4. 行任何 INSERT DELAYED 語句時

5. 用 UDF 時

6. 視圖中必須要求使用 RBR 時,例如創建視圖是使用了 UUID() 函數

設定主從復制(Replication)模式的方法非常簡單,只要在以前設定複製配置的基礎上,再加一個參數:

binlog_format=’STATEMENT’

#binlog_format=’ROW’

#binlog_format=’MIXED’

當然了,也可以在運行時動態修改binlog的格式。 例如

mysql> SET SESSION binlog_format = ‘STATEMENT’;

mysql> SET SESSION binlog_format = ‘ROW’;

mysql> SET SESSION binlog_format = ‘MIXED’;

mysql> SET GLOBAL binlog_format = ‘STATEMENT’;

mysql> SET GLOBAL binlog_format = ‘ROW’;

mysql> SET GLOBAL binlog_format = ‘MIXED’;

現在來比較以下 SBR 和 RBR 2中模式各自的優缺點

SBR 的優點:

1. 歷史悠久,技術成熟

2. binlog文件較小

3. binlog中包含了所有資料庫更改信息,可以據此來審核資料庫的安全等情況

4. binlog可以用於實時的還原,而不僅僅用於復制(Replication)

5. 主從版本可以不一樣,從服務器版本可以比主服務器版本高

SBR 的缺點:

1. 不是所有的UPDATE語句都能被複製,尤其是包含不確定操作的時候。

2. 調用具有不確定因素的 UDF 時復制(Replication)也可能出問題

3. 使用以下函數的語句也無法被複製:

* LOAD_FILE()

* UUID()

* USER()

* FOUND_ROWS()

* SYSDATE() (除非啟動時啟用了 –sysdate-is-now 選項)

4. INSERT … SELECT 會產生比 RBR 更多的行級鎖

5. 複製需要進行全表掃描(WHERE 語句中沒有使用到索引)的 UPDATE 時,需要比 RBR 請求更多的行級鎖

6. 對於有 AUTO_INCREMENT 字段的 InnoDB表而言,INSERT 語句會阻塞其他 INSERT 語句

7. 對於一些複雜的語句,在從服務器上的耗資源情況會更嚴重,而 RBR 模式下,只會對那個發生變化的記錄產生影響

8. 存儲函數(不是存儲過程)在被調用的同時也會執行一次 NOW() 函數,這個可以說是壞事也可能是好事

9. 確定了的 UDF 也需要在從服務器上執行

10. 數據表必須幾乎和主服務器保持一致才行,否則可能會導致複製出錯

11. 執行複雜語句如果出錯的話,會消耗更多資源

RBR 的優點:

1. 任何情況都可以被複製,這對複制來說是最安全可靠的

2. 和其他大多數資料庫系統的複制技術一樣

3. 多數情況下,從服務器上的表如果有主鍵的話,複製就會快了很多

4. 複製以下幾種語句時的行鎖更少:

* INSERT … SELECT

* 包含 AUTO_INCREMENT 字段的 INSERT

* 沒有附帶條件或者並沒有修改很多記錄的 UPDATE 或 DELETE 語句

5. 執行 INSERT,UPDATE,DELETE 語句時鎖更少

6. 從服務器上採用多線程來執行複製成為可能

RBR 的缺點:

1. binlog 大了很多

2. 複雜的回滾時 binlog 中會包含大量的數據

3. 主服務器上執行 UPDATE 語句時,所有發生變化的記錄都會寫到 binlog 中,而 SBR 只會寫一次,這會導致頻繁發生

binlog 的並發寫問題

4. UDF 產生的大 BLOB 值會導致複製變慢

5. 無法從 binlog 中看到都複製了寫什麼語句

6. 當在非事務表上執行一段堆積的SQL語句時,最好採用 SBR 模式,否則很容易導致主從服務器的數據不一致情況發生

另外,針對系統庫 mysql 裡面的表發生變化時的處理規則如下:

1. 如果是採用 INSERT,UPDATE,DELETE 直接操作表的情況,則日誌格式根據 binlog_format 的設定而記錄

2. 如果是採用 GRANT,REVOKE,SET PASSWORD 等管理語句來做的話,那麼無論如何都採用 SBR 模式記錄

注:採用 RBR 模式後,能解決很多原先出現的主鍵重複問題

http://www.lbrq.cn/news/1272403.html

相关文章:

  • .net做网站用什么框架/培训学校
  • 专门做求职课程的网站/深圳seo优化排名推广
  • 网站外链建设是什么/2024年新冠疫情最新消息今天
  • 怎么看一个网站用什么语言做的/百度助手免费下载
  • 上传了源程序提示网站建设中/市场营销活动策划方案
  • 建筑企业网站有哪些/什么叫百度竞价推广
  • 网站制作要花多少钱/网站的推广方式
  • 网站配资公司网站/百度竞价开户费用
  • 吉林分销网站建设/百度榜
  • 简单网页图片/怎么快速优化关键词
  • 高端网站建设教程/知名网站
  • 山东网站建设公司/网站内容如何优化
  • 网站制作多少钱方案/整站优化 快速排名
  • 做服装行业网站/目前常用的搜索引擎有哪些
  • 网站建设分录怎么开/黄页推广平台有哪些
  • 网站婚庆模板/关键词筛选
  • 什么行业做网站/深圳推广网络
  • 新手制作网站/微信广告投放平台
  • 个人网站成品/济南seo整站优化招商电话
  • 公司做网站服务费怎样做账/百度认证怎么认证
  • 网站建设工作流程/游戏代理300元一天
  • 做网上竞彩网站合法吗/网站域名查询ip地址
  • 淘外网站怎么做/爱站网ip反查域名
  • 网站开发服务合同范本/免费下优化大师
  • dedecms企业网站模板免费下载/短视频营销的发展趋势
  • 常州专业网站建设公司咨询/软文推广广告公司
  • 如何做网站定位/举例说明seo
  • 基于jsp的电商网站开发/公司网络推广
  • 加盟酒店网站制作/网站开发的步骤
  • wordpress更新配置文件/站长工具seo综合查询收费吗
  • 【隧道篇 / IPsec】(7.6) ❀ 02. 如何删除向导创建的IPsec安全隧道 (点对点) ❀ FortiGate 防火墙
  • java实现运行SQL脚本完成数据迁移
  • GenieWizard: Multimodal App Feature Discovery with LargeLanguage Models
  • DeepCompare文件深度对比软件:专业级文件对比操作全解析
  • AI+金融,如何跨越大模型和场景鸿沟?
  • QT6 Python UI文件转换PY文件的方法