欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql實(shí)時(shí)備份實(shí)現(xiàn)方法

 更新時(shí)間:2016年02月28日 11:24:00   投稿:mdxy-dxy  
這篇文章主要介紹了Mysql實(shí)現(xiàn)實(shí)時(shí)備份,需要的朋友可以參考下

目前成熟的實(shí)時(shí)備份為雙機(jī)(master/slave),是基于同步日志事件來(lái)實(shí)現(xiàn),那單機(jī)如何實(shí)現(xiàn)具有增量的備份呢?可以借用雙機(jī)的原理,非常簡(jiǎn)單,實(shí)施步驟如下:
Mysql版本:mysql4.0+

1、vi my.cfg

復(fù)制代碼 代碼如下:

[mysqld]
log-update=/home/backup/update #添加該行

2、service mysql restart

會(huì)在/home/backup/update00001文件,內(nèi)容為數(shù)據(jù)庫(kù)變化的所有SQL(沒(méi)有select)

3、每天的全備,mysql4.0+最簡(jiǎn)單就是備份data目錄。

復(fù)制代碼 代碼如下:

service mysql stop
tar -czf data(日期).tar.gz mysql/data
service mysql start

當(dāng)mysql啟動(dòng)時(shí)系統(tǒng)會(huì)自動(dòng)在/home/backup/創(chuàng)建update0000*的文件,那我們可以用該文件作為當(dāng)天全備的增量實(shí)時(shí)備份。

4、數(shù)據(jù)還原

復(fù)制代碼 代碼如下:

service mysql stop
tar -zxvf data(日期).tar.gz mysql/
service mysql start
mysqladmin -u -p /home/backup/update0000*

如想還原昨天、前天的數(shù)據(jù)只需要找相應(yīng)的update0000*來(lái)還原即可:)

以下是補(bǔ)充:

1、MYSQL數(shù)據(jù)庫(kù)提供了一種主從備份的機(jī)制,其實(shí)就是把主數(shù)據(jù)庫(kù)的所有的數(shù)據(jù)同時(shí)寫(xiě)到備份數(shù)據(jù)庫(kù)里面,從而實(shí)現(xiàn)MYSQL數(shù)據(jù)庫(kù)的實(shí)時(shí)備份。
2、版本要求,首先要保證主服務(wù)器和從服務(wù)器的MYSQL版本都高于3.2,另外,從數(shù)據(jù)庫(kù)的版本可以高于主服務(wù)器,但不能低于主服務(wù)器。
3、主服務(wù)器設(shè)置:
A、先修改MY.INI中有關(guān)log-bin的設(shè)置,這是記錄數(shù)據(jù)庫(kù)更改的日志,由于MYSQL的復(fù)制機(jī)制,是基于日志的,所以主服務(wù)器必須要支持更改日志才可以。
接著設(shè)置要寫(xiě)入日志的數(shù)據(jù)庫(kù),或者不要寫(xiě)入日志的數(shù)據(jù)庫(kù),這是為了告訴MYSQL,那個(gè)庫(kù)需要備份,哪個(gè)不需要。
下面是配置詳情:

server-id=1 //數(shù)據(jù)庫(kù)的id這個(gè)應(yīng)該默認(rèn)是1就不用改動(dòng)
log-bin=log_name //日志文件的名稱(chēng),這里可以制定日志到別的目錄 如果沒(méi)有設(shè)置則默認(rèn)主機(jī)名的一個(gè)日志名稱(chēng)
binlog-do-db=db_name //記錄日志的數(shù)據(jù)庫(kù)
binlog-ignore-db=db_name //不記錄日志的數(shù)據(jù)庫(kù)

上面的binlog-do-db和binlog-ignore-db可以設(shè)置成多個(gè)數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)名稱(chēng)之間用“,”分割開(kāi)。
下一步是設(shè)置同步數(shù)據(jù)庫(kù)的用戶賬號(hào)
mysql> GRANT REPLICATION SLAVE ON *.*
-> TO ‘備份用戶名'@'只能從這個(gè)IP登錄' IDENTIFIED BY ‘備份用戶密碼';

設(shè)置好以后,重啟一下數(shù)據(jù)庫(kù)服務(wù)。
B、鎖定現(xiàn)有的數(shù)據(jù),并將數(shù)據(jù)備份
數(shù)據(jù)庫(kù)鎖定的命令是:
mysql> FLUSH TABLES WITH READ LOCK;
然后進(jìn)入mysql的data目錄,然后打包你需要備份的數(shù)據(jù)庫(kù)目錄。
C、現(xiàn)在可以查看主服務(wù)器的狀態(tài)了:
命令如下:
mysql> show master status\G;
返回結(jié)果會(huì)是這樣的
+—————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+—————+———-+————–+——————+
| mysql-bin.003 | 73 | test | manual,mysql |
+—————+———-+————–+——————+
當(dāng)然,這個(gè)表,顯示了你剛才在MY.INI中寫(xiě)入的配置。
然后解鎖數(shù)據(jù)庫(kù):
mysql> UNLOCK TABLES;

4、從服務(wù)器設(shè)置
還是和剛才一樣,修改數(shù)據(jù)庫(kù)配置文件,即MY.INI
配置詳情如下:
server-id=n //設(shè)置數(shù)據(jù)庫(kù)id默認(rèn)主服務(wù)器是1可以隨便設(shè)置但是如果有多臺(tái)從服務(wù)器則不能重復(fù)。
master-host=db-master.mycompany.com //主服務(wù)器的IP地址或者域名
master-port=3306 //主數(shù)據(jù)庫(kù)的端口號(hào)
master-user=pertinax //同步數(shù)據(jù)庫(kù)的用戶
master-password=freitag //同步數(shù)據(jù)庫(kù)的密碼
master-connect-retry=60 //如果從服務(wù)器發(fā)現(xiàn)主服務(wù)器斷掉,重新連接的時(shí)間差
report-host=db-slave.mycompany.com //報(bào)告錯(cuò)誤的服務(wù)器

然后將你剛才打包的數(shù)據(jù)庫(kù)文件拷貝到你的從數(shù)據(jù)庫(kù)目錄中。
重啟從數(shù)據(jù)庫(kù)服務(wù)器。
然后停止SLAVE的服務(wù)

mysql> slave stop; //停止slave的服務(wù)

停止之后,還是在mysql提示符下,設(shè)置主服務(wù)器的各種參數(shù)
命令如下:
mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name', //主服務(wù)器的IP地址
-> MASTER_USER='replication_user_name', //同步數(shù)據(jù)庫(kù)的用戶
-> MASTER_PASSWORD='replication_password', //同步數(shù)據(jù)庫(kù)的密碼
-> MASTER_LOG_FILE='recorded_log_file_name', //主服務(wù)器二進(jìn)制日志的文件名(前面要求記住的參數(shù))
-> MASTER_LOG_POS=recorded_log_position; //日志文件的開(kāi)始位置(前面要求記住的參數(shù))

然后啟動(dòng)同步數(shù)據(jù)庫(kù)的進(jìn)程
mysql> slave start;

沒(méi)有意外的話基本上到這一步,雙庫(kù)同步就已經(jīng)實(shí)現(xiàn)了。

相關(guān)文章

  • MacOS 下安裝 MySQL8.0 登陸 MySQL的方法

    MacOS 下安裝 MySQL8.0 登陸 MySQL的方法

    這篇文章主要介紹了MacOS 下安裝 MySQL8.0 登陸 MySQL 的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • MySQL報(bào)錯(cuò)1040'Too?many?connections'的原因以及解決方案

    MySQL報(bào)錯(cuò)1040'Too?many?connections'的原因以及解決方案

    這篇文章主要給大家介紹了關(guān)于MySQL報(bào)錯(cuò)1040'Too?many?connections'的原因以及解決方案,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • MySQL中的RIGHT?JOIN和CROSS?JOIN操作示例

    MySQL中的RIGHT?JOIN和CROSS?JOIN操作示例

    本文詳細(xì)介紹了MySQL中的RIGHT?JOIN和CROSS?JOIN操作,RIGHT?JOIN返回右表中的所有記錄及與左表中的記錄相匹配的記錄,而CROSS?JOIN返回兩個(gè)表中所有可能的組合,通過(guò)實(shí)際示例和輸出結(jié)果,我們展示了如何使用RIGHT?JOIN和CROSS?JOIN進(jìn)行數(shù)據(jù)庫(kù)查詢(xún),一起看看吧
    2023-07-07
  • mysql字符集亂碼問(wèn)題解決方法介紹

    mysql字符集亂碼問(wèn)題解決方法介紹

    解決亂碼的方法是,在執(zhí)行SQL語(yǔ)句之前,將MySQL以下三個(gè)系統(tǒng)參數(shù)設(shè)置為與服務(wù)器字符集character-set-server相同的字符集
    2012-05-05
  • Linux安裝MySQL教程(二進(jìn)制分發(fā)版)

    Linux安裝MySQL教程(二進(jìn)制分發(fā)版)

    這篇文章主要為大家詳細(xì)介紹了Linux安裝MySQL教程,二進(jìn)制分發(fā)版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 詳解MySQL InnoDB的索引擴(kuò)展

    詳解MySQL InnoDB的索引擴(kuò)展

    這篇文章主要介紹了MySQL InnoDB的索引擴(kuò)展的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08
  • redhat7通過(guò)yum安裝mysql5.7.17教程

    redhat7通過(guò)yum安裝mysql5.7.17教程

    這篇文章主要為大家詳細(xì)介紹了redhat7通過(guò)yum安裝mysql5.7.17教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL中組合字段之concat()

    MySQL中組合字段之concat()

    這篇文章主要介紹了MySQL中組合字段之concat(),MySQL是關(guān)系型數(shù)據(jù)庫(kù),我們?cè)谑褂玫臅r(shí)候往往會(huì)將對(duì)象的屬性映射成列存儲(chǔ)在表中,因此查詢(xún)的到的結(jié)果在不做任何處理的情況下,也是一個(gè)個(gè)單獨(dú)的屬性,需要的朋友可以參考一下
    2021-11-11
  • mysql如何根據(jù)漢字首字母排序

    mysql如何根據(jù)漢字首字母排序

    這篇文章主要介紹了mysql根據(jù)漢字首字母排序sql語(yǔ)句,需要的朋友可以參考下
    2014-03-03
  • MySQL存儲(chǔ)過(guò)程圖文實(shí)例講解

    MySQL存儲(chǔ)過(guò)程圖文實(shí)例講解

    雖然MySQL的存儲(chǔ)過(guò)程一般情況下是不會(huì)使用到的,但是在一些特殊場(chǎng)景中,還是有需求的,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)過(guò)程的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評(píng)論