1. 程式人生 > >CentOS下MYSQL資料庫的主從備份配置

CentOS下MYSQL資料庫的主從備份配置

        關於MYSQL主從備份,其實跟MYSQL主主互備的過程類似,最大的區別在主從備份中,主機不能複製從機的資料,所以主機一般用來專注於資料庫的業務操作,從機一般用來專注於資料庫的查詢操作。

        下面直接介紹主從配置:

        一、主從機環境以及軟體版本資訊:

          1、主機系統:32位Centos 6.3 版本;

                兩個虛擬機器:

                主機(master):IP地址: 192.168.31.139;

                從機(salver):IP地址: 192.168.31.137;

          2、MYSQL版本:mysql-5.5.11版;

          3、虛擬機器版本:VMware® Workstation 9.0.0 build-812388;

        二、配置過程:

          1、主機master與salver均關閉防火牆iptables,執行service iptables stop命令:

               

          2、設定SELINUX檔案的SELINUX=disabled,如圖所示:

               

          4、主機(master)配置:

                A:在/usr/local/mysql目錄下建立MYSQL複製的日誌配置檔案/usr/local/mysql/mysql-bin.log並賦予許可權以及改變檔案的所有者:

                      [[email protected] mysql] touch mysql-bin.log

                      [[email protected] mysql] chmod 755 mysql-bin.log

                      [[email protected] mysql] chown -R mysql:mysql .

配置結果如圖所示:

                     

                B:配置/etc/my.cnf檔案:

                      [

[email protected] mysql] vi /etc/my.cnf

                      在檔案中新增如下屬性項:

                      log-bin = /usr/local/mysql/mysql-bin.log

                      binlog-ignore-db=mysql

                      binlog-ignore-db=information_schema

                C:啟動並登陸MYSQL系統:

                      [[email protected] mysql] service mysql start

                      顯示:Starting MySQL.... SUCCESS! 就表明啟動成功

                      [[email protected] mysql] mysql -u root -padmin

                      注:-p 表示密碼項,後面的'admin'表明root使用者的密碼是admin

                D:在主機master上新增主機salver的同步賬號:

                      mysql> grant replication slave on *.* to'slave'@'192.168.31.137' identified by 'admin';

                      執行如下命令檢視:

                      

                      可以看見備份賬戶以及設定完成。下面對資料庫表加鎖只讀。

                      mysql鎖表只讀(其他賬戶登入mysql後無法進行寫表操作,防止備份資料庫後,主mysql表更新,導致和從資料庫內容不一致)

                      mysql> flush tables with read lock;

                E:檢視狀態:

                      [[email protected] mysql] mysql -u root -padmin -e "show master status"

                      結果如圖:

                     

                      注:File欄位的日誌名稱(mysql-bin.000001)就是從機備份所需要的日誌檔案。

          5、從機(salver)配置:

                A:在/usr/local/mysql目錄下建立MYSQL複製的日誌配置檔案/usr/local/mysql/mysql-bin.log並賦予許可權以及改變檔案的所有者:

                      注:這一步驟與配置主機(master)完全一樣。

                B:配置/etc/my.cnf檔案:

                      [[email protected] mysql] vi /etc/my.cnf

                      在檔案中新增或修改相應的配置項,如圖所示:

                      

                      注:log-bin被註釋是因為主機不需要複製備份從機的資料。

                C:啟動並登陸MYSQL系統:

                      注:這一步驟與配置主機(master)完全一樣。

                D:在MYSQL的SHELL下執行如下圖命令:

                     

                      注:其中change master to master_host='192.168.31.139',

                                                                       master_user='slave',

                                                                       master_password='admin',

                                                                       master_log_file="mysql-bin.000001",

                                                                       master_log_pos=107 ;

                              中的master_log_file項就是前面提到的日誌複製備份所需的名稱。

          6、主機(salver)配置:

                A:解鎖資料庫:

                      mysql> unlock tables;

                B:查詢資料庫狀態:

                      mysql> show slave status \G

                      結果如圖:

                      

                      注:兩臺主機均出現如下內容,則主主配置成功:

                              Slave_IO_State: Waiting for master to send event

                              Slave_IO_Running: Yes

                              Slave_SQL_Running: Yes

                              如果出現Slave_IO_Running: Connecting的情況,則很可能是因為防火牆未關閉的原因。

          7、測試過程:

                A:在主機上的test資料庫中,建立test表,並插入測試資料,在從機上檢視是否備份成功;

                B:在從機上的test資料庫中,在test表插入測試資料,在主機上檢視是否備份成功;

                C:主機的資料在從機的資料庫上備份成功,從機的資料在主機上沒有被複製備份,則說明配置成功。

                D:主機的資料在從機的資料庫上備份成功,從機的資料在主機上也被複製備份,則說明配置失敗。

                E:主機的資料在從機的資料庫上備份失敗,則說明配置失敗。

相關推薦

LinuxMySQL資料庫主從同步配置

Linux下MySQL資料庫主從同步配置 一.配置mysql主資料庫#172.30.65.122 mysql -u root-p#進入控制檯 create databasecesudb#建立資料庫測速db insert intomysql.user(Host,User,Pa

CentOSMYSQL資料庫主從備份配置

        關於MYSQL主從備份,其實跟MYSQL主主互備的過程類似,最大的區別在主從備份中,主機不能複製從機的資料,所以主機一般用來專注於資料庫的業務操作,從機一般用來專注於資料庫的查詢操作。         下面直接介紹主從配置:         一、主從機環境以

linux centosmysql資料庫主從複製環境搭建

有兩臺MySQL資料庫伺服器Master和slave,Master為主伺服器,slave為從伺服器,初始狀態時,Master和slave中的資料資訊相同,當Master中的資料發生變化時,slave也跟著發生相應的變化,使得master和slave的資料資訊同步,達到備份的目的。 原理圖如下:

CentOSMYSQL資料庫的主主互備配置

       關於MYSQL資料庫的主主備份和主從備份,查詢了很多資料,根據大牛們的資料配置了好幾遍,終於在自己的環境中配置起來了。先前沒有配置起來的原因可能是大家的配置環境不一樣造成的,所以網上有很多資料,雖然有些大同小異,但是配置不起來。MYSQL支援單向、非同步複製,

centosmysql資料庫編碼問題詳解

1、MySql:charset和collation的設定 charset 和 collation 有多個級別的設定:伺服器級、資料庫級、表級、列級和連線級  2、centos下資料庫是mariadb,

9、Linuxmysql資料庫安裝與配置實操

1、安裝 sudo yum -y install mysql-server 2、 sudo vim /etc/my.cnf 將字符集設定成UTF-8 3、將mysql設定為隨系統啟動 sudo chkconfig mysqld on sudo chkco

Linuxmysql資料庫定時備份並刪掉3天前的備份檔案

1.首先檢查下有沒有安裝crond,命令為service crond status,如果出現unrecognized service,則說明沒有安裝,如果出現    crond is stopped。如果出現crond (pid  1956) is running...則表示

Linux環境mysql資料庫定時備份

作為web後端開發,一直都是在windows系統上對mysql進行增刪改查的工作,對於如何備份以及在linux環境下如何定時備份一直都沒有深入的去了解過;這次正好藉著專案需求,研究一下。 1、mysql資料庫的備份命令:/usr/bin/mysqldump -uroot -

windows環境 Mysql資料庫自動備份

確定mysqldump 命令是否可用1,在 dos模式 下,進入對應mysql bin 目錄。 如 本例為 C:\Program Files\MySQL\MySQL Server 5.7\bin2,輸入如下命令C:\Program Files\MySQL\MySQL Serv

linux mysql資料庫備份和還原

#mysqldump db_name >/path/name.sql 上面的命令意思是把一個庫匯出到一個SQL檔案. 當然,你直接在有ROOT密碼的機子上執行以上命令一定會報錯.所以,請用 #mysqldump db_name >/path/na

MySQL主從備份配置實例

reat 變化 出現問題 二進制日誌 my.cnf配置 counter 文件名 alter 特定 場景: 1、主服務器192.168.0.225、從服務器192.168.0.226。其中,主服務器上已有數據。 2、主從服務器上的mysql版本及安裝配置相同。 一

【Windows】【MySQL】WindowsMySQL資料庫利用mysqldump定時備份並刪除N天前的備份資料

1.新建.bat檔案 內容如下: rem ******MySQL backup start******** @echo off set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%" if not exist "D:\backup\%Ymd%" m

Linux CentOS7 配置MYSQL資料庫主從

1、在主資料庫裡建立一個同步賬號 每個從資料庫會使用一個MySQL賬號來連線主資料庫,所以我們要在主資料庫裡建立一個賬號,並且該賬號要授予REPLICATION SLAVE 許可權,你可以為每個從資料庫分別建立賬號,當然也可以用同一個!你可以用原來的賬號不一定要新創賬號,但你應該注意,這個賬號和密碼會被明文存

centosmysql資料備份到Windows系統共享

#!/bin/sh number=3 ##資料庫相關 user=xxxxx password=xxxxx123.. db=xxxfxxxx path=/data/db/dbBackup/ time=`d

配置mysql資料庫主從伺服器

vim /etc/mysql/mysql.conf.d/mysqld.cnf log-bin=mysql-bin                 #開啟二進位制日誌 server-id=1                      #每臺伺服器都不同,必須唯一 rela

windowsmysql每天定時備份資料庫

新建dbback.bat檔案,內容如下: @echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" D:\MySQL\bin\mysqldump --opt -u root  finance > D:\dbBack\fi

windowsmysql每天定時備份資料庫幾種方法

在windows中備份mysql 資料庫的方法有很多種,如有常用的WinRAR備份mysql、mysqldump備份成sql檔案、xcopy 直接複製檔案形式備份資料庫,下面我來總結一下這些方法,並給出相關例項。 第一種:新建批處理檔案 backup.dat,裡

Linuxmysql資料庫的自動備份與還原 遠端備份和本地備份

Linux系統下Mysql備份還原 MySql的還原與備份 1 備份     mysqldump -u root -p shop > /home/andy/shop20150910.sql   

linux 使用python3 定時備份mysql資料庫指令碼 修改配置直接可用。親測!

# Time : 2018/12/24 # Author : [email protected]#依賴包 pip install schedule#注意事項#1. linux中 使用os.system()包裹的命令有特殊字元如)(請使用轉義\)\(或'(' ')'#2. 輸入的資料庫密碼 -p+密

CentOS mysql5.6.* 主從配置

mysql主從複製 (超簡單) 怎麼安裝mysql資料庫,這裡不說了,只說它的主從複製,步驟如下: 1、主從伺服器分別作以下操作:   1.1、版本一致   1.2、初始化表,並在後臺啟動mysql   1.3、修改root的密碼2、修改主伺服器master: