本文主要給大家介紹mysql的主從配置做全備份方法,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續(xù)在創(chuàng)新互聯行業(yè)資訊里面關注我的更新文章的。
創(chuàng)新互聯公司公司2013年成立,是專業(yè)互聯網技術服務公司,擁有項目網站建設、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元老邊做網站,已為上家服務,為老邊各地企業(yè)和個人服務,聯系電話:18982081108目的:19作為 20的從庫
一在20上做一次全備份
/usr/bin/innobackupex-1.5.1--user=root --password=`cat /etc/savep` --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --slave-info--stream=tar /usr/local/backup | gzip >/usr/local/backup/db20.tar.gz
將 db20.tar.gz copy到 19
--slave-info保存主庫日志文件以及偏移
--stream=tar/usr/local/backup | gzip > /usr/local…壓縮方式
[在使用參數stream=tar備份的時候,你的xtrabackup_logfile可能會臨時放在/tmp目錄下,多實例 xtrabackup在備份的時候會生成固定文件/tmp/xtrabackup_logifle,導致互相覆蓋。 --tmpdir= ]
二在19上啟動新的實例
新建/etc/myNew.cnf注意server id要跟20不一樣 my.cnf server_id xxx
初始化數據庫
3. scripts/mysql_install_db --user=mysql --datadir=/data/mysqlNew/dataNew --basedir=/usr/local/mysql
啟動新的實例待會用于做從庫
5. /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/myNew.cnf --user=mysql &
三在19上安裝 xtrabackup
舊版本5.1
wgethttp://115.182.52.17/software/xtrabackup-1.6.5-328.rhel6.x86_64.rpm
rpm -ivh xtrabackup-1.6.5-328.rhel6.x86_64.rpm --nodeps (rpm方式安裝xtrabackup.)
新版本5.6
wget -O/root/soft/percona-xtrabackup-2.2.11-1.el6.x86_64.rpm
http://115.182.52.17/software/percona-xtrabackup-2.2.11-1.el6.x86_64.rpm
rpm -ivh percona-xtrabackup-2.2.11-1.el6.x86_64.rpm --nodeps
四在19上恢復主庫的冷備份數據
解壓
2. mv db20.tar.gz /usr/local/backup/
3. tar -izxvf db20.tar.gz
這里tar解包必須使用-i參數,否則解壓出來的文件只有一個backup-my.cnf
一般情況下,在備份完成后,數據尚且不能用于恢復操作,因為備份的數據中可能會包含尚未提交的事務或已經提交但尚未同步至數據文件中的事務。因此,此時數據文件仍處理不一致狀態(tài)。--apply-log的作用是通過回滾未提交的事務及同步已經提交的事務至數據文件使數據文件處于一致性狀態(tài)。
5. innobackupex --apply-log . --user=root --password=`cat /etc/savep(不存在密碼就不需要這個項)` --defaults-file=/etc/myNew.cnf
拷貝數據文件
7. mysqladmin -uroot -S /tmp/mysqlNew.sock shutdown –p停庫刪除
8. cd /data/mysqlNew/dataNew/
9. rm -rf*
10. mv /usr/local/backup/* .
11. chown -R mysql.mysql*
12. mysqld_safe --defaults-file=/etc/myNew.cnf --user=mysql &
tail -f log.err查看是否有報錯
進數據庫查看數據庫是否跟主庫一樣,
至此已經把20的數據庫冷備份恢復到19了
五啟動同步
確定主庫冷備份的的binlog位置
2. cd /data/mysqlNew/dataNew/
3. cat xtrabackup_binlog_info (如果冷備份是從主庫直接備份的,則使用這個來確定主庫的binlog位置)
4. 或者catxtrabackup_slave_info(如果冷備份是從主庫的另外一個從庫簡介備份的,則使用這個來確定主庫的binlog位置)
進入新實例,新建同步
6. mysql -uroot -S /tmp/mysqlNew.sock -p
7. mysql>change master to
8. -> master_host='10.0.0.20',
9. ->master_user='re4399pl',
10. ->master_port=3306,
11. ->master_password='re4399plpassword',
12. ->master_log_file='mysql-bin.000006',
13. ->master_log_pos=110632233;
上面這步需要現在主庫上創(chuàng)建帳號
GRANT FILE,SELECT,REPLICATION SLAVE ON*.* TO 're4399pl'@'10.0.0.%'IDENTIFIED BY 're4399plpassword';
master_log_filemaster_log_pos就是五.1中的內容
啟動同步
15. mysql>start slave;
16. mysql>show slave status\G
17. 如果要重啟庫,
18. 1,mysqladmin –uroot –pxxxx 2,mysqld_safe –user=mysql
六其他注意點
注意多個實例的下的不同data目錄和 my.cnf文件
從庫是不記錄Binlog的如果需要做鏈式同步,從庫開啟binlog:log_slave_updates=1
skip-slave-start有這個參數,數據庫重啟后不會自動進行同步
主從廢棄后,應該及時 stop slave并 reset slave免得忘記下次又同步
七關于同步到從庫并過濾部分表的做法
在從庫上添加
replicate-wild-do-table=diygame_admin.%
replicate-wild-ignore-table=diygame_online.diygame_game_data%
replicate-wild-do-table=diygame_online.%
八同步后重定向到另外一個庫
在從庫上添加
replicate-wild-do-table=diygame_admin.diygame_template_preview
replicate-wild-do-table=3387_base_admin.%
replicate-rewrite-db=diygame_admin->3387_base_admin
replicate-rewrite-db,及僅能重定向庫,不能重定向表,而且還does not workwith cross-database updates
0 0 * * * /cron/db_backup.sh > /tmp/db_backup.log 2>&1
cat /cron/db_backup.sh
#!/bin/bash
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/sbin:/sbin
DATE=`date +%Y%m%d`
IPADDR=`/sbin/ifconfig em1|grep 'inet addr'|awk '{print $2}'|awk -F ":" '{print $2}'`
passwd=`cat /etc/savep`
NAME=db185_hebi
mkdir /tmp/$NAME
/usr/bin/innobackupex-1.5.1 --user=root --password=`cat /etc/savep` --defaults-file=/etc/my.cnf --slave-info --tmpdir=/tmp/$NAME/ --stream=tar /usr/local/backup | gzip > /usr/local/backup/$NAME-$DATE-$IPADDR.tar.gz
cd /usr/local/backup/
/usr/local/bin/rsync -R -avz --progress --password-file=/etc/49cn_pass $NAME-$DATE-$IPADDR.tar.gz 49cn@13.7.3.9::49cn/49cn
find /usr/local/backup/ -type f -mtime +7 | xargs rm -f
看了以上關于mysql的主從配置做全備份方法,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業(yè)的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。
另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前名稱:mysql的主從配置做全備份方法-創(chuàng)新互聯
分享路徑:http://bm7419.com/article22/hshcc.html
成都網站建設公司_創(chuàng)新互聯,為您提供ChatGPT、用戶體驗、關鍵詞優(yōu)化、網站收錄、品牌網站建設、建站公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯