国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟

這篇具有很好參考價(jià)值的文章主要介紹了MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


前言

為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當(dāng)然,如果能幫到一些萌新進(jìn)行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯(cuò)誤,歡迎讀者朋友們批評指正。
(博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的過程中有什么疑問歡迎大家在評論區(qū)向我提出)

發(fā)現(xiàn)寶藏

前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家?!緦毑厝肟凇?。

一、問題分析

讀和寫所有壓力都由一臺數(shù)據(jù)庫承擔(dān),壓力大數(shù)據(jù)庫服務(wù)器磁盤損壞則數(shù)據(jù)丟失,單點(diǎn)故障

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

讀寫分離優(yōu)化程序后

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

二、Mysql主從復(fù)制

1. 介紹

1. 什么是Mysql主從復(fù)制

  1. MySOL主從復(fù)制是一個(gè)異步的復(fù)制過程,底層是基于Mysgl數(shù)據(jù)庫自帶的二進(jìn)制日志功能。
  2. 就是一臺或多臺MySOL數(shù)據(jù)庫(slave,即從庫)從另一臺MySL數(shù)據(jù)庫(master,即主庫)進(jìn)行日志的復(fù)制然后再解析日志并應(yīng)用到自身,最終實(shí)現(xiàn)從庫的數(shù)據(jù)和主庫的數(shù)據(jù)保持一致。
  3. MySOL主從復(fù)制是MySOL數(shù)據(jù)庫自帶功能,無需借助第三方工具。

2. MySQL復(fù)制過程分成三步

  1. master將改變記錄到二進(jìn)制日志 (binary log)
  2. slave將master的binary log拷貝到它的中繼日志 (relay log)
  3. slave重做中繼日志中的事件,將改變應(yīng)用到自己的數(shù)據(jù)庫中

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

2. 配置

1. 配置-前置條件

提前準(zhǔn)備好兩臺服務(wù)器,分別安裝Mysq1并啟動(dòng)服務(wù)成功

  1. 主庫Master 192.168.154.129
  2. 從庫slave 192.168.154.130

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

2. 配置-主庫master

  • 第一步:修改Mysq1數(shù)據(jù)庫的配置文件 /etc/my.cnf

[mysqld]
log-bin=mysql-bin #[必須]啟用二進(jìn)制日志
server-id=100 #[必須]服務(wù)器唯一ID

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

  • 第二步:重啟Mysq1服務(wù)

systemctl restart mysqld

  • 第三步:登錄Mysql數(shù)據(jù)庫,執(zhí)行下面SQL
  1. GRANT REPLICATION SLAVE ON * .* to ‘xiaoming’@‘%’ identified by ‘Root@123456’;
  2. 上面SOL的作用是創(chuàng)建一個(gè)用戶xiaoming,密碼為Root@123456,并且給xiaoming用戶授予REPLICATION SLAVE權(quán)限。常用于建立復(fù)制時(shí)所需要用到的用戶權(quán)限,也就是slave必須被master授權(quán)具有該權(quán)限的用戶,才能通過該用戶復(fù)制。

注1: ON * .* 中 * 和 . 之間是沒有空格的,此處由于MD語法格式空一格

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

  • 第四步: 登錄Mysql數(shù)據(jù)庫,執(zhí)行下面SQL,記錄下結(jié)果中File和Position的值

show master status;

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux
注:上面SOL的作用是查看Master的狀態(tài),執(zhí)行完此SQL后不要再執(zhí)行任何操作

3. 配置-從庫slave

  • 第一步: 修改Mysg1數(shù)據(jù)庫的配置文件 /etc/my.cnf

[mysqld]
server-id=101 #[必須]服務(wù)器唯一ID

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

  • 第二步:重啟Mysq1服務(wù)

systemctl restart mysqld

  • 第三步:登錄Mysq1數(shù)據(jù)庫,執(zhí)行下面SOL
  1. change master to
    master_host=‘192.168.154.129’,master_user=‘xiaoming’,master_password=‘Root@123456’,master_log_file=‘mysql-bin.000001’,master_log_pos=441;
  2. start slave;

000001 和 441 是根據(jù) master 庫決定的

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

  • 第四步:登錄Mysql數(shù)據(jù)庫,執(zhí)行下面SQL,查看從數(shù)據(jù)庫的狀態(tài)

show slave status;

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

3. 測試

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

三、讀寫分離案例

1. 背景

面對日益增加的系統(tǒng)訪問量,數(shù)據(jù)庫的吞吐量面臨著巨大瓶頸。對于同一時(shí)刻有大量并發(fā)讀操作和較少寫操作類型的應(yīng)用系統(tǒng)來說,將數(shù)據(jù)庫拆分為主庫和從庫,主庫負(fù)責(zé)處理事務(wù)性的增刪改操作,從庫負(fù)責(zé)處理查詢操作,能夠有效的避免由數(shù)據(jù)更新導(dǎo)致的行鎖,使得整個(gè)系統(tǒng)的查詢性能得到極大的改善。

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

2. shardingDBC介紹

1. shardingDBC簡介

Sharding-IDBC定位為輕量級lava框架,在ava的]DBC層提供的額外服務(wù)。它使用客戶端直連數(shù)據(jù)庫,以jar包形式提供服務(wù),無需額外部署和依賴,可理解為增強(qiáng)版的JDBC驅(qū)動(dòng),完全兼容]DBC和各種ORM框架。使用sharding-JDBC可以在程序中輕松的實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離。

2. shardingDBC特點(diǎn)

  1. 適用于任何基于]DB的ORM框架,如: JPA,Hibernate,Mybatis,SpringJDBCTemplate或直接使用DBC。
  2. 支持任何第三方的數(shù)據(jù)庫連接池,如: DBCP,C3PO,BoneCp,Druid,HikariCP等。
  3. 支持任意實(shí)現(xiàn)]DBC規(guī)范的數(shù)據(jù)庫。目前支持MySQL,Oracle,SQLServer,PostgresQL以及任何遵循SQL92標(biāo)準(zhǔn)的數(shù)據(jù)庫。

3. 入門案例

  1. 導(dǎo)入maven坐標(biāo)
 <dependency>
            <groupId>org.apache.shardingsphere</groupId>
            <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
            <version>4.0.0-RC1</version>
        </dependency>
  1. 在配置文件中配置讀寫分離規(guī)則
server:
  port: 8080
mybatis-plus:
  configuration:
    #在映射實(shí)體或者屬性時(shí),將數(shù)據(jù)庫中表名和字段名中的下劃線去掉,按照駝峰命名法映射
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: ASSIGN_ID
spring:
  shardingsphere:
    datasource:
      names:
        master,slave
      # 主數(shù)據(jù)源
      master:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.138.100:3306/rw?characterEncoding=utf-8
        username: root
        password: root
      # 從數(shù)據(jù)源
      slave:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.138.101:3306/rw?characterEncoding=utf-8
        username: root
        password: root
    masterslave:
      # 讀寫分離配置
      load-balance-algorithm-type: round_robin #輪詢
      # 最終的數(shù)據(jù)源名稱
      name: dataSource
      # 主庫數(shù)據(jù)源名稱
      master-data-source-name: master
      # 從庫數(shù)據(jù)源名稱列表,多個(gè)逗號分隔
      slave-data-source-names: slave
    props:
      sql:
        show: true #開啟SQL顯示,默認(rèn)false
  

3. 在配置文件中配置允許bean定義覆蓋配置項(xiàng)

  //和spring同級
  main:
    allow-bean-definition-overriding: true

4. 功能測試

MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux
MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟,mysql,mysql,數(shù)據(jù)庫,開發(fā)工具,后端,linux

總結(jié)

歡迎各位留言交流以及批評指正,如果文章對您有幫助或者覺得作者寫的還不錯(cuò)可以點(diǎn)一下關(guān)注,點(diǎn)贊,收藏支持一下。
(博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的過程中有什么疑問歡迎大家在評論區(qū)向我提出)文章來源地址http://www.zghlxwxcb.cn/news/detail-623897.html

到了這里,關(guān)于MySQL主從復(fù)制入門指南:基礎(chǔ)概念和配置步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL主從復(fù)制基于二進(jìn)制日志的高可用架構(gòu)指南

    在現(xiàn)代數(shù)據(jù)庫架構(gòu)中,MySQL主從復(fù)制技術(shù)扮演著重要角色。它不僅可以提升數(shù)據(jù)庫性能和可擴(kuò)展性,還賦予系統(tǒng)卓越的高可用性和災(zāi)難恢復(fù)能力。本文將深入剖析MySQL主從復(fù)制的內(nèi)部機(jī)制,同時(shí)通過一個(gè)實(shí)際案例,展示其在實(shí)際場景中的強(qiáng)大作用。 MySQL主從復(fù)制基于二進(jìn)制日志

    2024年02月13日
    瀏覽(47)
  • 零基礎(chǔ)嘗試mysql主從復(fù)制

    零基礎(chǔ)嘗試mysql主從復(fù)制

    本文參考了這篇文章??https://blog.csdn.net/tenc1239/article/details/130451736?感謝大佬的分享 前提:自己準(zhǔn)備好兩個(gè)數(shù)據(jù)庫環(huán)境,我用的是本機(jī)的vm虛擬機(jī)linux中的mysql(版本8.0.33)和本機(jī)windows中的mysql(8.1.0) 一、配置主庫 ? ?1、配置 my.cnf?文件 ? ? 2、創(chuàng)建用于復(fù)制的賬號(也可以直接用

    2024年02月14日
    瀏覽(18)
  • Oracle 基礎(chǔ)入門指南

    Oracle 基礎(chǔ)入門指南

    ? Oracle是一款由美國Oracle公司開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它支持SQL查詢語言,并提供了豐富的功能和工具,用于管理大規(guī)模數(shù)據(jù)存儲、處理和訪問。Oracle被廣泛應(yīng)用于企業(yè)級應(yīng)用中,包括金融、電信、零售等各行各業(yè)。 要開始學(xué)習(xí)Oracle,首先需要在計(jì)算機(jī)上安裝Oracle數(shù)據(jù)

    2024年02月19日
    瀏覽(19)
  • 大數(shù)據(jù)基礎(chǔ)技能入門指南

    大數(shù)據(jù)基礎(chǔ)技能入門指南

    本文介紹了數(shù)據(jù)工作中數(shù)據(jù)基礎(chǔ)和復(fù)雜數(shù)據(jù)查詢兩個(gè)基礎(chǔ)技能。 背景 當(dāng)下,不管是業(yè)務(wù)升級迭代項(xiàng)目,還是體驗(yàn)優(yōu)化項(xiàng)目,對于數(shù)據(jù)的需求都越來越大。數(shù)據(jù)需求主要集中在以下幾個(gè)方面: 項(xiàng)目數(shù)據(jù)看板搭建:特別是一些AB實(shí)驗(yàn)的看板,能直觀呈現(xiàn)項(xiàng)目的核心數(shù)據(jù)變化 數(shù)據(jù)

    2024年02月05日
    瀏覽(35)
  • 計(jì)算機(jī)視覺基礎(chǔ)入門指南

    ? ? ? ? 計(jì)算機(jī)視覺是一門研究如何使計(jì)算機(jī)能夠“看”和理解圖像或視頻的學(xué)科。隨著人工智能的快速發(fā)展,計(jì)算機(jī)視覺在各個(gè)領(lǐng)域的應(yīng)用越來越廣泛。本文將為您介紹計(jì)算機(jī)視覺的基本概念、應(yīng)用領(lǐng)域以及學(xué)習(xí)路徑,幫助您快速入門這一領(lǐng)域。 圖像處理:對圖像進(jìn)行預(yù)處

    2024年04月11日
    瀏覽(22)
  • 【MySQL入門指南】外鍵約束使用詳解

    【MySQL入門指南】外鍵約束使用詳解

    ?MySQL是一種關(guān)系型數(shù)據(jù)庫,現(xiàn)實(shí)中的業(yè)務(wù)往往是相互關(guān)聯(lián)的,這也就決定了數(shù)據(jù)庫中的表也是存在相互關(guān)系的。而表與表之間的相互關(guān)系就是通過外鍵來維護(hù)的。給大家舉一個(gè)現(xiàn)實(shí)的例子來幫助理解: ?現(xiàn)在我們需要在數(shù)據(jù)庫中存放學(xué)生的選課信息。如果我們將課程具體信

    2024年02月01日
    瀏覽(14)
  • HarmonyOS云開發(fā)基礎(chǔ)認(rèn)證題目記錄——包括第一期:Serverless基礎(chǔ)、第二期:快速構(gòu)建用戶認(rèn)證系統(tǒng)、第三期:云函數(shù)入門指南、第四期:云數(shù)據(jù)庫入門指南、第五期:云存儲入門指南。

    1. 【判斷題】? 應(yīng)用架構(gòu)的演進(jìn)依次經(jīng)歷了微服務(wù)架構(gòu)、單體架構(gòu)、Serverless架構(gòu)等階段。 錯(cuò)誤 2. 【判斷題】? 認(rèn)證服務(wù)手機(jī)號碼登錄需要填寫國家碼。 正確 3. 【判斷題】? 認(rèn)證服務(wù)在綁定微信賬號后就不能再綁定QQ賬號了。 錯(cuò)誤 4. 【判斷題】? 云函數(shù)可以根據(jù)函數(shù)的實(shí)際

    2024年02月05日
    瀏覽(133)
  • AI繪圖-Midjourney零基礎(chǔ)入門指南

    AI繪圖-Midjourney零基礎(chǔ)入門指南

    Midjourney 是除 Disco Difussion 和 Dall·E 2 之外又一個(gè)比較優(yōu)秀的 AI 圖像生成器,它綜合能力全面,雖然圖像的精準(zhǔn)度及藝術(shù)性不及 Disco Difussion,但易上手程度比 Disco Difussion 好很多,圖像生成速度極快?1 分鐘內(nèi)出 4 張圖,國外很多藝術(shù)家都使用 Midjourney 生成自己想要圖像作為創(chuàng)

    2024年02月04日
    瀏覽(19)
  • Python基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)入門必讀指南

    Python基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)入門必讀指南

    作者主頁:濤哥聊Python 個(gè)人網(wǎng)站:濤哥聊Python 大家好,我是濤哥,今天為大家分享的是Python中常見的數(shù)據(jù)結(jié)構(gòu)。 含義:數(shù)組是一種有序的數(shù)據(jù)結(jié)構(gòu),其中的元素可以按照索引來訪問。數(shù)組的大小通常是固定的,一旦創(chuàng)建就不能更改。 基本操作: 含義:列表是Python中內(nèi)置的

    2024年02月07日
    瀏覽(52)
  • “C++基礎(chǔ)入門指南:了解語言特性和基本語法”

    “C++基礎(chǔ)入門指南:了解語言特性和基本語法”

    C++是在C的基礎(chǔ)之上,容納進(jìn)去了面向?qū)ο缶幊趟枷耄⒃黾恿嗽S多有用的庫,以及編程范式 等。熟悉C語言之后,對C++學(xué)習(xí)有一定的幫助 工作之后,看誰的技術(shù)牛不牛逼,不用看誰寫出多牛逼的代碼,就代碼風(fēng)格掃一眼,立刻就能看出來是正規(guī)軍還是野生的程序員。代碼的風(fēng)

    2024年02月16日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包