日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql主主备份_MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

發布時間:2023/12/20 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql主主备份_MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、MySQL主從備份

為保證數據庫的安全和效率,可以使用主從備份,當有寫的操作可以在主服務器上操作,操作完之后備份到從服務器上,當有讀操作時可以訪問從服務器,這樣在一定程度上保證了數據庫的安全,當主服務器的mysql掛掉之后,數據也不會丟失,同時也提高了數據庫的效率。

1.環境

master 192.168.174.129

slave 192.168.174.130

master和slave的防火墻都為關閉狀態,selinux也為disabled,不然會出錯,selinux設置重啟生效。

2.在master和slave上安裝mysql和mysql-server

注:mysql master數據庫版本和slave數據庫版本要相同,或者slave版本比master高

mysql安裝可以yum安裝也可以源碼安裝,本文采用yum安裝

yum -y install mysql mysql-server

在主服務器和從服務器上打開mysql服務,并設置開機自啟

service mysqld restart

chkconfig mysqld on

3.mysql mater配置

打開mysql配置文件/etc/my.cnf,在mysqld下添加

log-bin=mysql-bin? ? ? ---------啟動二進制日志系統

binlog-do-db=test? ? ? ---------要同步的數據庫

server-id=1? ? ? ? ? ? ? ? ---------服務id,主服務器server-id比從服務器server-id小

binlog-ignore-db=mysql ------避免同步mysql用戶配置

重啟mysql

service mysqld restart

進入數據庫mysql

mysql -u root -p

初始狀態mysql默認沒有密碼,如果要設置密碼可以使用mysqladmin -u root -p "password",設置密碼,這樣也會更安全一些

創建一個同步賬號,并賦予權限

查看master的狀態信息,記錄下file和position的值,在后邊的slave配置中會用到

4.mysql slave配置

打開mysql配置文件/etc/my.cnf,在mysqld下添加

server-id=2? ? ? ? ? ? ? ? ? ? -------- 服務id,從服務器server-id比主服務器server-id大

replication-ignore-db=mysql? -- 屏蔽對mysql庫的同步

replication-do-db=test? ? ---------要同步的數據庫名,與主服務器配置保持一致

master-connect-retry=60 --------斷點重連時間

master-host=192.168.174.129

master-user=test

master-password=test

master-port=3306

進入mysql

mysql -u root -p

停止slave服務:stop slave;

配置slave同步,完成后開啟slave服務

change master to master_host='192.168.174.129',master_user='test',master_password='test',master_log_file='mysql-bin.000026',master_log_pos=346;

這里的master_log_file和master_log_pos要和前面記錄的file和position一致

查看slave狀態

show slave status\G;

當兩個running都為yes時即配置成功,可以在主服務上對test數據庫操作,看是否這些操作會同步到從服務器上

二、MySQL主主備份

主主備份的設置就是將從服務器上的設置在主服務器上操作一遍,主服務器上的操作在從服務器上操作一遍,這里就不再贅述

三、 MySQL+Keepalived

環境:

keepalived主機:192.168.174.129

keepalived備機:192.168.174.130

VIP:192.168.174.222

測試主機:192.168.174.133

master、slave、keepalived主機、keepalived備機、測試主機的防火墻都為關閉狀態,selinux也為disabled,不然會出錯,selinux設置重啟生效。

1.keepalived

keepalived可以監控服務狀態,當主服務宕機后可以將服務自動漂移至從服務,利用keepalived+mysql可以實現mysql的高可用性,當mysql主服務器宕機后,從服務器接管主服務器的工作,保證對外服務,keepalived還可以實現虛擬ip對外服務,保證內部服務器安全,同時keepalived的主從機制也保證了服務的高可用性

2.keepalived安裝

這里和前邊博文中keepalived安裝步驟基本一樣,主要是配置文件不一樣,博主為熟悉keepalived安裝又啰嗦了一遍,下載keepalived源碼安裝包,解壓

進入keepalived解壓目錄,執行

./configure --prefix=/usr/local/keepalived

拷貝keepalived啟動文件到/etc/init.d下,這樣keepalived服務才能為系統識別

cp /root/package/keepalived-1.4.5/keepalived/etc/init.d /etc/init.d

執行

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

cp /usr/local/keepalived/sbin/keepalived /usr/sbin

新建文件夾keepalived

mkdir /etc/keepalived

將keepalived的配置文件拷貝過來,keepalived啟動時會從/etc/keepalived目錄下查找keepalived.conf配置文件,如果沒有找到則使用默認的配置。

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

以上操作在keepalived主機和備機上都執行

修改主機配置文件

修改備機配置文件

主機和備機配置文件只有router_id和vrrp_instance的state和priority不同

開啟主機和備機的keepalived服務

service keepalived start

在測試機上ping 虛擬IP192.168.174.222,成功,而且我的內網內192.168.174.222的ip

使用虛擬IP192.168.174.222連接3306端口的mysql服務,連接之前需要在mysql主服務和mysql從服務器為測試機ip賦予權限

使用虛擬IP192.168.174.222連接3306端口的mysql服務,使用授權的用戶和密碼,成功

查看當前數據庫

查看mysql從服務器數據庫可知連接的應該是從數據庫

停止mysql從服務器服務:service mysqld stop,再次在測試機連接虛擬IP192.168.174.222連接3306端口的mysql服務,成功

也可以查出數據庫

keepalived+mysql主從同步成功

四、MySQL讀寫分離

mysql讀寫分離是在mysql主從同步的基礎上做的,mysql主服務器負責寫,多臺mysql從服務器負責讀,mysql主從同步僅僅是把mysql主服務器的數據庫同步到了mysql從服務器上,如果要實現讀寫分離,還需要一個服務器去協調。這個服務就是mysql-proxy。

1.環境配置

mysql主服務器:192.168.174.129

mysql從服務器:192.168.174.130

mysql-proxy服務器:192.168.174.131

master、slave以及mysql-proxy服務器的防火墻都為關閉狀態,selinux也為disabled,不然會出錯,selinux設置重啟生效。

2.mysql-proxy安裝

mysql的讀寫分離是靠過rw-splitting.lua腳本實現的,因此需要安裝lua。

安裝之前先安裝包依賴

yum -y install gcc* gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt libtool* flex* pkgconfig* libevent* glib*

wget 下載lua,很小,很快就能下載完成,解壓

wget http://www.lua.org/ftp/lua-5.1.4.tar.gz

進入lua解壓后目錄,執行

make linux

make && make install

export LUA_CFLAGS="-I/usr/local/include" LUA_LIBS="-L/usr/local/lib -llua -ldl" LDFLAGS="-lm"

下載mysql-proxy,解壓

執行

mkdir /usr/local/mysql-proxy

cp * /usr/local/mysql-proxy

cd /usr/local/mysql-proxy

修改rw-splitting.lua文件

修改連接數,默認為4,即只有當有四臺mysql服務器時才啟用讀寫分離,為了試驗成功,改為1

vim /usr/local/mysql-proxy/rw-splitting.lua

啟動msyql-proxy

cd /usr/local/mysql-proxy/bin

./mysql-proxy --proxy-read-only-backend-addresses=192.168.174.130:3306 --proxy-backend-addresses=192.168.174.129:3306 --proxy-lua-script=/usr/local/mysql-proxy/rw-splitting.lua &

參數說明:

--proxy-read-only-backend-addresses ---------只讀服務器ip地址

--proxy-backend-addresses? ----------------------服務器地址(mysql主服務器)

--proxy-lua-script? ? ? ? ? ----------------------------lua腳本路徑

&? ? -----------------------------------------------------表示后臺執行

mysql主從備份+mysql讀寫分離配置完成。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mysql主主备份_MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。