服務(wù)器
前言
津市網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,津市網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為津市千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的津市做網(wǎng)站的公司定做!備份是容災(zāi)的基礎(chǔ),是指為防止系統(tǒng)出現(xiàn)操作失誤或系統(tǒng)故障導(dǎo)致數(shù)據(jù)丟失,而將全部或部分?jǐn)?shù)據(jù)集合從應(yīng)用主機(jī)的硬盤(pán)或陣列復(fù)制到其它的存儲(chǔ)介質(zhì)的過(guò)程。而對(duì)于一些網(wǎng)站、系統(tǒng)來(lái)說(shuō),數(shù)據(jù)庫(kù)就是一切,所以做好數(shù)據(jù)庫(kù)的備份是至關(guān)重要的!
備份是什么?
本實(shí)例將創(chuàng)建目錄放置于/mnt目錄下,可根據(jù)具體情況放置于其他目錄:
cd /mnt mkdir dbback pwd /mnt/dbback
創(chuàng)建shell腳本
腳本名稱可根據(jù)自己規(guī)范進(jìn)行自定義:
vim bcmysql.sh
進(jìn)入編輯器,輸入以下內(nèi)容:
#!/bin/bash Mysqldump -uusername -ppassword demo > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql
如果需要本分文件進(jìn)行壓縮,可輸入下面命令:
#!/bin/bash MYSQLdump -uusername -ppassword demo | gzip > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql.gz
在具體操作中,需要將username,password和demo分別替換成對(duì)應(yīng)的數(shù)據(jù)庫(kù)用戶名、密碼和數(shù)據(jù)庫(kù)名。
添加可執(zhí)行權(quán)限
chmod u+x bcmysql.sh
添加完執(zhí)行權(quán)限之后,執(zhí)行此腳本,可能會(huì)出現(xiàn)如下異常:
mysqldump: [Warning] Using a password on the command line interface can be insecure.
這個(gè)問(wèn)題應(yīng)該是在MySQL5.6+版本的時(shí)候就有出現(xiàn),可能是為了確保數(shù)據(jù)庫(kù)的安全性采用的保護(hù)機(jī)制。在本實(shí)例中使用的mysql版本為5.7.22,雖然有警告信息,但可以成功備份數(shù)據(jù)。
修改mysql配置文件
針對(duì)上面的問(wèn)題,某些版本可能無(wú)法成功備份,另外也不建議將數(shù)據(jù)庫(kù)密碼配置在腳本中,則可直接修改mysql的配置文件。一般情況下,mysql的配置文件在/etc/my.cnf。
vim /etc/my.cnf
在此文件內(nèi)添加mysqldump的配置如下:
[mysqldump] user=your_backup_user_name password=your_backup_password
替換掉對(duì)應(yīng)的用戶名和密碼,并修改bcmysql.sh腳本中的命令,取消用戶名和密碼參數(shù),無(wú)需重啟mysql,直接執(zhí)行腳本即可看到備份結(jié)果。
demo_20181114_193425.sql
問(wèn)題一
當(dāng)使用vim查看導(dǎo)出的sql文件內(nèi)容時(shí),會(huì)發(fā)現(xiàn)中文有亂碼。此問(wèn)題有兩種情況引起,第一種就是數(shù)據(jù)庫(kù)本身字符集為latain1,則此時(shí)需要指定字符集,在執(zhí)行的參數(shù)中添加如下參數(shù):
--default-character-set=gbk
當(dāng)然如果是utf8則將gbk修改為utf8。查看數(shù)據(jù)庫(kù)字符集的命令如下:
show variables like \'%char%\'; -- 查詢結(jié)果 character_set_client utf8 character_set_connection utf8 character_set_database utf8mb4 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir /usr/local/mysql/share/charsets/
如果將字符集正確修改,依然有亂碼,則可嘗試添加如下參數(shù):
--hex-blob
仔細(xì)分析一下表結(jié)構(gòu),可能表結(jié)構(gòu)中有blob類(lèi)型,這個(gè)參數(shù)的含義是用16進(jìn)制的方式導(dǎo)出BINARY, VARBINARY, BLOB類(lèi)型的數(shù)據(jù)。修改后的命令如下:
mysqldump --default-character-set=utf8 --hex-blob demo > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql
添加計(jì)劃任務(wù)
檢測(cè)或安裝crontab
執(zhí)行crontab命令如果報(bào)command not found,就表明沒(méi)有安裝。
# crontab -bash: crontab: command not found
如果未安裝,可以通過(guò)yum命令進(jìn)行安裝:
# yum -y install vixie-cron
雖然crontab不支持-h或-help命令,但可以通過(guò)此命令檢查是否安裝成功:
[root@iZ2zeck5vZ ~]# crontab -help crontab:無(wú)效選項(xiàng) -- h crontab: usage error: unrecognized option Usage: crontab [options] file crontab [options] crontab -n [hostname] Options: -u <user> define user -e edit user\'s crontab -l list user\'s crontab -r delete user\'s crontab -i prompt before deleting -n <host> set host in cluster to run users\' crontabs -c get host in cluster to run users\' crontabs -s selinux context -x <mask> enable debugging Default operation is replace, per 1003.2
添加計(jì)劃任務(wù)
通過(guò)上面的命令參數(shù),我們可以看到修改crontab的命令,執(zhí)行命令:
crontab -e
進(jìn)入crontab的編輯操作頁(yè)面,可以像vi、vim一樣編輯其中的內(nèi)容。在其中添加如下命令:
*/1 * * * * /mnt/dbback/bcmysql.sh
此行命令的作用是每隔一分鐘執(zhí)行一次bcmysql.sh。等待一分鐘之后通過(guò)ls命令查看是否生成備份文件。發(fā)現(xiàn)已經(jīng)可以正常生成文件。當(dāng)然,我們并不需要每分鐘就備份一次,因此把命令改為如下:
0 1 * * * /mnt/dbback/bcmysql.sh
每天凌晨1點(diǎn)執(zhí)行一次備份操作。
日志查看
如果執(zhí)行失敗了,則可查看任務(wù)日志:
# tail -f /var/log/cron
小結(jié)
至此,一個(gè)簡(jiǎn)單版本的Linux下實(shí)現(xiàn)Mysql定時(shí)任務(wù)備份數(shù)據(jù)功能已經(jīng)實(shí)現(xiàn)。當(dāng)然也可以在此版本基礎(chǔ)上進(jìn)行目錄控制,歷史記錄刪除等擴(kuò)展。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。
名稱欄目:Linux下Mysql定時(shí)任務(wù)備份數(shù)據(jù)的實(shí)現(xiàn)方法
當(dāng)前路徑:http://www.rwnh.cn/article12/cpcodc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站內(nèi)鏈、外貿(mào)建站、用戶體驗(yàn)、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)