首頁>技術>

概述

目前業界對資料庫效能優化普遍採用叢集方式,而oracle叢集軟硬體投入昂貴,mysql則比較推薦用mycat去搭建資料庫叢集,下面介紹一下怎麼用mycat+haproxy+keepalived搭建一個屬於mysql資料庫的高可用負載均衡。

主要思路:

簡單說,實現mysql主備複製-->利用mycat實現負載均衡。

比較了常用的讀寫分離方式,推薦mycat,社群活躍,效能穩定。

以下基於centos7作業系統進行演示。

架構圖

以下是這次搭建的架構圖。

主機1與主機2上的keepalived會為該伺服器搶佔vip,搶佔到vip後,對該主機的訪問可以通過原來的ip訪問,也可以直接通過vip訪問,當其中一臺宕機時,vip會漂移到另一臺機器上,當我們訪問VIP時haproxy會根據配置將請求分發到兩臺Mycat上實現負載均衡,並且haproxy會檢測mycat是否存活。

下面先介紹下後端資料庫的搭建部分。

一、安裝部署mysql

1、安裝依賴

2、建立基礎目錄並修改資料夾的屬組

mkdir -p /data/datafilemkdir -p /data/logchown -R mysql:mysql /data

3、安裝mysql資料庫,採用rpm安裝方式

3.1解除安裝自帶包

3.2、安裝rpm

rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpmrpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpmrpm -ivh mysql-community-embedded-5.7.26-1.el7.x86_64.rpmrpm -ivh mysql-community-embedded-devel-5.7.26-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpmrpm -ivh mysql-community-test-5.7.26-1.el7.x86_64.rpm

4、mysql資料庫配置

4.1、修改資料庫my.cnf引數(注意server-id引數)

4.2、重啟資料庫初始化資料

service mysqld restart

4.3、修改資料庫密碼

4.3.1、檢視資料庫預設密碼

4.3.2、更改密碼

4.3.3、建立資料庫和使用者

create schema tms_prod default character set utf8;set global validate_password_policy=0;GRANT ALL PRIVILEGES ON *.* TO tms_prod@'%' identified by 'xxx';

4.3.4、重啟mysql資料庫

二、配置mysql主從

原理:

1、主庫授權同步帳號

在主伺服器上,設定一個從資料庫的賬戶,使用REPLICATION SLAVE賦予許可權,如:

set global validate_password_policy=0;GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'fxxx';

2、修改主資料庫的配置檔案my.cnf

開啟BINLOG,並設定server-id的值,修改之後必須重啟Mysql服務。

3、檢視主伺服器狀態

可以檢視主伺服器當前二進位制日誌名和偏移量,這個操作的目的是為了在從資料庫啟動後,從這個點開始進行資料的恢復

4、從伺服器mysql配置

修改配置後需重啟資料庫伺服器

5、從庫開啟同步

5.1 從庫配置同步

配置mysql主從複製時,在從機上需要進行CHANGE MASTER TO操作,以確定需要同步的主機IP,使用者名稱,密碼,binlog檔案,binlog位置等資訊。

change master to配置和改變slave伺服器用於連線master伺服器的引數,以便slave伺服器讀取master伺服器的binlog及slave伺服器的relay log。同時也更新master info及relay log info資訊庫。執行該語句前如果從機上slave io及sql執行緒已經啟動,需要先停止(執行stop slave)。

change master toMASTER_HOST='xx.xx.xx',MASTER_USER='repl',MASTER_PASSWORD='xxxx',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=437;

5.2、開啟主從同步

開啟後注意檢視從庫狀態,

當Slave_IO_Running和Slave_SQL_Running都為YES的時候表示主從同步設定成功。

篇幅有限,這塊就先介紹到這了,後面開始介紹搭建mycat的部分,感興趣的朋友可以關注下~

最新評論
  • 1 #

    波波你有搭建hadoop的資料麼

  • 2 #

    標題寫的好,後半部分就是沒有

  • 3 #

    老哥這麼晚了還筆耕不輟,佩服佩服很有價值的資料,推薦學習!

  • 4 #

    你這些命令和檔名都是手打上去的嗎

  • 5 #

    繼續後面的才是正道

  • 6 #

    重點是ka,ha和mycat的配置

  • 7 #

    我是看完了,沒看懂

  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Linux伺服器搭建---CentOS安裝