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 15:55
下一篇 2016-11-21 19:33

相關推薦

  • PHP5.4最新特性

    原文Oracle:LAMP 體系有了新的競爭,但此版本中的特性使 PHP 再次挑戰極限。 稍微做了修改。: 概述總結:1. 內存和性能改進:大型 PHP 應用程序中可節省 20-50% 的內存。通過各種優化使性能提高 10-30%2. 支持特性Trait3. 精簡數組語法,可以定義短數組4. 函數數組解除引用,支持Array dereferenci…

    Linux干貨 2015-11-18
  • python基礎_1

    變量/常量 常量:一旦賦值,就不能對它從新復制。python不存在常量 字面常量:一個單獨出現的量,未賦值給任何變量或者常量 變量:就是一個名字,在固執符號的左邊,這個名字可以指復制符號右邊的內容。 變量列子: i = 3 print(i)  注:python 是強類型語言,是動態類型語言。(強類型指類型之間不能相互計算/動態類型是指變量是可以賦值…

    Linux干貨 2017-10-10
  • linux的終端類型

    Linux系統的終端類型    Linux系統的終端主要包括控制臺終端、控制終端、串口終端、偽終端、虛擬終端。                 1.  控制臺終端(/dev/console)。    在Unix系統中,計…

    Linux干貨 2016-10-19
  • linux 文本處理工具 grep cut sort等

    linux day 7 間歇性回憶 自動屬于這個組 是  SGID 的功能 chmod g+s /data/testdir setfacl —m g:g2:rwx /data/testdir setfacl -m b:g:g2:rwx /data/testdir setfacl -m d:g:g3:r testdir chmod o= testdi…

    Linux干貨 2016-08-08
  • 軟件安裝與管理–rpm、yum

    一、rpm包管理器     1、介紹rpm        在linux系統中,服務是要通過程序來提供的,通過調用API接口編寫好之后的源碼包文件對于普通用戶來說,安裝起來較為繁瑣。于是人們將源碼在編譯安裝的環境下制作了更加高級的rpm包,它的最大特點是避免了對原軟件包的編譯安裝,以更加簡便…

    Linux干貨 2016-08-22
  • 馬哥教育網絡班21期+第12周課程練習

    1、請描述一次完整的http請求處理過程; 建立或處理請求:接受請求或拒絕請求; 接收請求:接收來自于網絡的請求報文中對某資源的一次請求的過程; 處理請求:對請求報文進行解析,并獲取請求的資源及請求方法等相關信息; 訪問資源:獲取請求報文中請求的資源; 構建相應報文; 發送響應報文; 記錄日志 2、httpd所支持的處理模型有哪些,他們分別適用于哪些環境。 …

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