Ubuntu Server下MySql數(shù)據(jù)庫備份腳本代碼_MySQL教程
推薦:Ubuntu下取消MySQL數(shù)據(jù)庫本機綁定限制方法出現(xiàn)問題: 在Ubuntu系統(tǒng)中,添加了MySQL賬戶,賦予了數(shù)據(jù)庫完全操作權限,并且允許數(shù)據(jù)庫從外部鏈接 但是,還是無法遠程訪問MySQL數(shù)據(jù)庫。 原因: Ubuntu系統(tǒng)中,默認安裝的MySQL限制了只有本機才能訪問數(shù)據(jù)庫 解決辦法: 取消MySQL數(shù)據(jù)庫的本機綁定限制 nano /etc/my
說明:
我這里要把MySql數(shù)據(jù)庫存放目錄/var/lib/mysql下面的pw85數(shù)據(jù)庫備份到/home/mysql_data里面,并且保存為mysqldata_bak_2012_04_11.tar.gz的壓縮文件格式(2012_04_11是指備份執(zhí)行時當天的日期), 最后只保留最近7天的備份。
實現(xiàn)步驟:
1、創(chuàng)建保存?zhèn)浞菸募哪夸洠?home/mysql_data
cd /home #進入目錄
mkdir mysql_data #創(chuàng)建目錄
2、創(chuàng)建備份腳本文件:/home/mysql_data/mysql_databak.sh
cd /home/mysql_data #進入目錄
touch mysql_databak.sh #創(chuàng)建文件
nano mysql_databak.sh #編輯文件,輸入以下內容
#!/bin/sh
DUMP=/usr/bin/mysqldump #mysqldump備份程序執(zhí)行路徑
OUT_DIR=/home/mysql_data #備份文件存放路徑
LINUX_USER=root #系統(tǒng)用戶名
DB_NAME=pw85 #要備份的數(shù)據(jù)庫名字
DB_USER=root #數(shù)據(jù)庫賬號 注意:非root用戶要用備份參數(shù) --skip-lock-tables,否則可能會報錯
DB_PASS=123456 #數(shù)據(jù)庫密碼
DAYS=7 #DAYS=7代表刪除7天前的備份,即只保留最近7天的備份
cd $OUT_DIR #進入備份存放目錄
DATE=`date +%Y_%m_%d` #獲取當前系統(tǒng)時間
OUT_SQL="$DATE.sql" #備份數(shù)據(jù)庫的文件名
TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最終保存的數(shù)據(jù)庫備份文件名
$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #備份
tar -czf $TAR_SQL ./$OUT_SQL #壓縮為.tar.gz格式
rm $OUT_SQL #刪除.sql格式的備份文件
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改備份數(shù)據(jù)庫文件的所有者
find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} ; #刪除7天前的備份文件
(注意:{} ;中間有空格)
#######################################################################################################
ctrl+o #保存配置
ctrl+x #退出
3、修改文件屬性,使其可執(zhí)行
chmod +x /home/mysql_data/mysql_databak.sh
4、修改/etc/crontab
nano /etc/crontab #編輯文件,在下面添加
45 22 * * * root /home/mysql_data/mysql_databak.sh #表示每天22點45分執(zhí)行備份
ctrl+o #保存配置
ctrl+x #退出
5、重新啟動crond使設置生效
service cron stop #停止
service cron start #啟動
/etc/init.d/cron restart #重啟
chkconfig cron on #設為開機啟動
每天你在/home/mysql_data目錄下面可以看到類似mysqldata_bak_2012_04_11.tar.gz這樣的壓縮文件
如果需要恢復文件的時候,只需要把這個文件解壓:tar -zxvf mysqldata_bak_2012_04_11.tar.gz
然后導入到數(shù)據(jù)庫中即可。
至此,Ubuntu Server下MySql數(shù)據(jù)庫備份腳本完成。
分享:關于MySQL數(shù)據(jù)遷移--data目錄直接替換注意事項的詳解近日更換服務器,要做數(shù)據(jù)庫遷移,將數(shù)據(jù)庫內的數(shù)據(jù)從服務器A遷移到服務器B。 由于數(shù)據(jù)量較大,直接做dump耗時太長,故而采用如下方式處理: 首先,在服務器B上安裝了與服務器A同版本的MySQL,停止MySQL服務,將安裝后的data目錄刪除; 然后,服務器A鎖住全部表,從服
- MSSQL清空日志刪除日志文件
- 關于數(shù)據(jù)庫中保留小數(shù)位的問題
- 解析mysql與Oracle update的區(qū)別
- mysql 導入導出數(shù)據(jù)庫以及函數(shù)、存儲過程的介紹
- MySQL——修改root密碼的4種方法(以windows為例)
- 解決MYSQL出現(xiàn)Can''t create/write to file ''#sql_5c0_0.MYD''的問題
- 深入理解SQL的四種連接-左外連接、右外連接、內連接、全連接
- 解析:內聯(lián),左外聯(lián),右外聯(lián),全連接,交叉連接的區(qū)別
- mysql出現(xiàn)“Incorrect key file for table”處理方法
- mysql重裝后出現(xiàn)亂碼設置為utf8可解決
- 淺析一個MYSQL語法(在查詢中使用count)的兼容性問題
- 解析MySQL中INSERT INTO SELECT的使用
MySQL教程Rss訂閱編程教程搜索
MySQL教程推薦
- 使用MySQL Slow Log來解決MySQL CPU占用高的問題
- MySQL筆記之數(shù)據(jù)備份與還原的使用詳解
- 設置mysql的sql_mode
- 網站模板:如何捕獲和記錄SQL Server中發(fā)生的死鎖
- 基于mysql事務、視圖、存儲過程、觸發(fā)器的應用分析
- MySQL查詢優(yōu)化:用子查詢代替非主鍵連接查詢實例介紹
- 解析如何使用Zend Framework 連接數(shù)據(jù)庫
- 關于MySQL數(shù)據(jù)遷移--data目錄直接替換注意事項的詳解
- mysql常用設置:字符集編碼、自動完成(自動提示)、監(jiān)聽外網ip
- 網站模板:利用Shell腳本實現(xiàn)遠程MySQL自動查詢
- 相關鏈接:
- 教程說明:
MySQL教程-Ubuntu Server下MySql數(shù)據(jù)庫備份腳本代碼
。