MySQL Replication (MySQL的主從復制)

MySQL Replication(MySQL的主從復制)

主從數據庫的工作模型: 工作要點:1、主服務器要開啟二進制日志 2、從服務器要有一個用戶賬戶,這個賬戶要有權限到主服務器上請求二進制事件,請求完后保存到本地。 3、從服務器上要有一個線程,從中繼日志中不斷的讀事件,在本地replay。

Master/Slave
    Master: write/read
    Slaves: read

為什么?
    冗余:promte(提升為主),異地災備
        人工
        工具程序:MHA
    負載均衡:轉移一部分“讀”請求;
    支援安全的備份操作;
    測試;
    ...

主/從架構:
    異步復制:
    半同步復制:
    一主多從;
    一從一主;
    級聯復制;
    循環復制;
    雙主復制;

    一從多主:
        每個主服務器提供不同的數據庫;


配置:
    時間同步;
    復制的開始位置:
        從0開始;
        從備份中恢復到從節點后啟動的復制;
    主從服務器mysqld程序版本不一致?

    主服務器:
        配置文件my.cnf
        server_id=#
        log_bin=log-bin

        啟動服務:
        mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'USERNAME'@'HOST' IDENTIFIED BY 'YOUR_PASSWORD';
        mysql> FLUSH PRIVILEGES;

    從服務器:
        配置文件my.cnf
        server_id=#
        relay_log=relay-log 

        啟動服務:
        mysql> CHANGE MASTER TO MASTER_HOST='HOST',MASTER_USER='USERNAME',MASTER_PASSWORD='YOUR_PASSWORD',MASTER_LOG_FILE='BINLOG',MASTER_LOG_POS=#;
        mysql> START SLAVE [IO_THREAD|SQL_THREAD];

        mysql> SHOW SLAVE STATUS;

    課外作業:基于SSL的復制的實現;

配置主從數據庫實例

1、加入使用centos7(2)和centos7(3)這兩臺虛擬機當做節點,(2)做主,(3)做從。第一步先同步時間

兩臺主機分別執行ntpdate 10.1.0.1

MySQL  Replication  (MySQL的主從復制)

配置/etc/chrony.conf文件

MySQL  Replication  (MySQL的主從復制)

時間節點已經同步

2、在節點1(centos7(2)),配置/etc/my.cnf

log-bin=master-log 啟動二進制日志 server-id=1 設置id

MySQL  Replication  (MySQL的主從復制)

啟動mysql服務

systemctl start mariadb.service

驗證二進制日志文件

MySQL  Replication  (MySQL的主從復制)

主節點連入數據庫,執行show master status,查看是從哪個文件,哪個位置開始。即便從0開始,待會復制時也要指明從哪個文件哪個位置開始。

MySQL  Replication  (MySQL的主從復制)

3、在節點2(centos7(3)),配置從節點,vim /etc/my.cnf

MySQL  Replication  (MySQL的主從復制)

啟動mysql服務

systemctl start mariadb.service

查看日志文件

MySQL  Replication  (MySQL的主從復制)

4、主服務器上,授權一個擁有連接復制權限的賬號

MySQL  Replication  (MySQL的主從復制)

然后FLUSH PRIVILEGES

主從上面只需要業務同步就可以,不需要授權同步

MySQL  Replication  (MySQL的主從復制)

這時,主服務器授權已經完成,從服務器就可以連上了

MySQL  Replication  (MySQL的主從復制)

查看從服務器使用與否

show slave status

這里還沒有啟動復制功能,啟動復制功能start slave

MySQL  Replication  (MySQL的主從復制)

MySQL  Replication  (MySQL的主從復制)

查看,已經復制過來了

MySQL  Replication  (MySQL的主從復制)

在主節點上做一些創建類的操作,創建一個mydb2數據庫,通常從節點上可以查看到這個數據庫

MySQL  Replication  (MySQL的主從復制)

MySQL  Replication  (MySQL的主從復制)

注意:復制是單向的,從服務器上創建數據庫,主服務器無法顯示

讓從服務器只能讀,不能寫,設置成只讀

MySQL  Replication  (MySQL的主從復制)

再也不釋放鎖,誰也寫不進來

MySQL  Replication  (MySQL的主從復制)

這樣的話從線程也寫不了了。所有只能寄托從服務器不要誤操作。

原創文章,作者:15152188070,如若轉載,請注明出處:http://www.www58058.com/60261

(0)
1515218807015152188070
上一篇 2016-11-21
下一篇 2016-11-21

相關推薦

  • 第五周 N21 總有刁民想害朕

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; egrep "^[[:space:]]+" /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; egrep "^#[[:space:]]+…

    Linux干貨 2016-07-16
  • vim編輯器整理(無演示)

    vim編輯器 vim編輯器是linux中最強大的全屏幕純文本編輯器,他是vi編輯器的增強版。 文本編輯器: 文本:純文本,在ASCII角度講是純粹的不加任何修飾的文本信息     支持Unicode編碼方式 文本編輯器種類: 行編輯器:sed 全屏編輯器:nano,vi vi : (VIsual&n…

    Linux干貨 2016-08-10
  • 基于ansible自動部署keepalived+nginx來調度amp

    實戰作業: (1) 主/備模型的keepalived+nginx (2) httpd+php+php-mysql (3) mysql-server或mariadb-server         擁有testdb庫,并允許testuser對其擁有所有權限 實驗環境: 主機1:10.…

    Linux干貨 2016-11-07
  • Linux發展史

    日期:2016-10-12  Bell,MIT與GE的『Multics』系統     早期的計算機還很不普遍,除非是軍事或者高科技用途,或者學術單位的學術研究,否則真的很難接觸到。而且計算機架構很難使用。那個時候,程序設計者必須先將程序相關的信息在讀卡紙上面打洞然后將讀卡紙插入卡片閱讀機來將信息讀入主機中運算…

    Linux干貨 2016-10-14
  • HAProxy七種調度方法的簡單示意圖

    看了三個月,中間因出差和其他事沒有看估計也有十幾天,剛把35天的視頻看完。很多內容都記不住,待第一次看完后再回頭看吧。 現在想,對內容進行簡單的畫圖,把基本的體現出來,對記憶和回顧應該有幫助。

    Linux干貨 2016-07-26
  • linux 學習(2)

    1 linux 常見的文件管理命令都有哪些?其常用的使用方法。 ls 文件列出命令   常見選項  -l 顯示長文本信息          -d 顯示當前目錄信息          -a 顯示所有文件信息     &nb…

    Linux干貨 2016-10-09
欧美性久久久久