亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

mysql定時備份數(shù)據(jù)庫命令 mysql數(shù)據(jù)庫自動備份方法


mysql定時備份數(shù)據(jù)庫命令 mysql數(shù)據(jù)庫自動備份方法

文章插圖
在操作數(shù)據(jù)過程中,可能會導(dǎo)致數(shù)據(jù)錯誤,甚至數(shù)據(jù)庫奔潰,而有效的定時備份能很好地保護數(shù)據(jù)庫 。本篇文章主要講述了幾種方法進行 MySQL 定時備份數(shù)據(jù)庫 。
一. mysqldump命令備份數(shù)據(jù)
在MySQL中提供了命令行導(dǎo)出數(shù)據(jù)庫數(shù)據(jù)以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實現(xiàn)數(shù)據(jù)庫內(nèi)容的導(dǎo)出dump,首先我們簡單了解一下mysqldump命令用法:
#MySQLdump常用mysqldump -u root -p --databases 數(shù)據(jù)庫1 數(shù)據(jù)庫2 > xxx.sql二. mysqldump常用操作示例1. 備份全部數(shù)據(jù)庫的數(shù)據(jù)和結(jié)構(gòu)
mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql2.備份全部數(shù)據(jù)庫的結(jié)構(gòu)(加 -d 參數(shù))
mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql3. 備份全部數(shù)據(jù)庫的數(shù)據(jù)(加 -t 參數(shù))
mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql4.備份單個數(shù)據(jù)庫的數(shù)據(jù)和結(jié)構(gòu)(,數(shù)據(jù)庫名mydb)
mysqldump -uroot-p123456 mydb > /data/mysqlDump/mydb.sql5. 備份單個數(shù)據(jù)庫的結(jié)構(gòu)
mysqldump -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql6. 備份單個數(shù)據(jù)庫的數(shù)據(jù)
mysqldump -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql7. 備份多個表的數(shù)據(jù)和結(jié)構(gòu)(數(shù)據(jù),結(jié)構(gòu)的單獨備份方法與上同)
mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql8. 一次備份多個數(shù)據(jù)庫
mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql三. 還原 MySQL 備份內(nèi)容有兩種方式還原,第一種是在 MySQL 命令行中,第二種是使用 SHELL 行完成還原
1. 在系統(tǒng)命令行中,輸入如下實現(xiàn)還原:
mysql -uroot -p123456 < /data/mysqlDump/mydb.sql2. 在登錄進入mysql系統(tǒng)中,通過source指令找到對應(yīng)系統(tǒng)中的文件進行還原:
mysql> source /data/mysqlDump/mydb.sql在 Linux中,通常使用BASH腳本對需要執(zhí)行的內(nèi)容進行編寫,加上定時執(zhí)行命令crontab實現(xiàn)日志自動化生成 。
以下代碼功能就是針對mysql進行備份,配合crontab,實現(xiàn)備份的內(nèi)容為近一個月(31天)內(nèi)的每天的mysql數(shù)據(jù)庫記錄 。
編寫B(tài)ASH維護固定數(shù)量備份文件
在Linux中,使用vi或者vim編寫腳本內(nèi)容并命名為:mysql_dump_script.sh
#!/bin/bash#保存?zhèn)浞輦€數(shù),備份31天數(shù)據(jù)number=31#備份保存路徑backup_dir=/root/mysqlbackup#日期dd=`date +%Y-%m-%d-%H-%M-%S`#備份工具tool=mysqldump#用戶名username=root#密碼password=TankB214#將要備份的數(shù)據(jù)庫database_name=edoctor#如果文件夾不存在則創(chuàng)建if [ ! -d $backup_dir ];thenmkdir -p $backup_dir;fi#簡單寫法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql$tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql#寫創(chuàng)建備份日志echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt#找出需要刪除的備份delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1`#判斷現(xiàn)在的備份數(shù)量是否大于$numbercount=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l`if [ $count -gt $number ]then#刪除最早生成的備份,只保留number數(shù)量的備份rm $delfile#寫刪除文件日志echo "delete $delfile" >> $backup_dir/log.txtfi如上代碼主要含義如下:
1.首先設(shè)置各項參數(shù),例如number最多需要備份的數(shù)目,備份路徑,用戶名,密碼等 。
2.執(zhí)行mysqldump命令保存?zhèn)浞菸募?,并將操作打印至同目錄下的log.txt中標(biāo)記操作日志 。
3.定義需要刪除的文件:通過ls命令獲取第九列,即文件名列,再通過實現(xiàn)定義操作時間最晚的那個需要刪除的文件 。
4.定義備份數(shù)量:通過ls命令加上
統(tǒng)計以sql結(jié)尾的文件的行數(shù) 。


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: