linux 導(dǎo)入 導(dǎo)出mysql命令 數(shù)據(jù)庫備份 還原 shell腳本
備份漠秋、導(dǎo)出數(shù)據(jù)庫
- 導(dǎo)出整個(gè)數(shù)據(jù)庫
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導(dǎo)出的文件名
直接在終端中輸入:
mysqldump -u root -p myblog > /home/blog/myblog.sql
- 導(dǎo)出一個(gè)表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
mysqldump -u root -p myblog user_table> /home/blog/user_table.sql
導(dǎo)入偿短、還原數(shù)據(jù)庫
- 方法一:
進(jìn)入mysql數(shù)據(jù)庫控制臺,如:
mysql -u root -p
mysql>use myblog;
如果導(dǎo)出的時(shí)候設(shè)置了字符集,還需要設(shè)置一下,這里的字符集根你的將要導(dǎo)入的數(shù)據(jù)庫的字符集一至:
mysql>set names utf8;
然后使用source命令拱镐,導(dǎo)入:
source /home/blog/myblog.sql;
- 方法二:
mysql -u 用戶名 -p 數(shù)據(jù)庫名 < 數(shù)據(jù)庫名.sql
直接在終端:
mysql -u root -p myblog < /home/blog/myblog.sql
這種方法的缺點(diǎn)不能設(shè)置字符集艘款。
shell backup mysql
#!/bin/sh
sqlPath="$destDir/wordpress.sql"
user="dbuser"
password="dbpassword"
dbname="wordpress"
mysqldump -u$user -p$password $dbname > $sqlPath
echo "backup wordpress.sql to $sqlPath finished"
完整的備份wordpress腳本及說明見Github地址.
附上腳本
完整備份wordpress目錄及mysql腳本:
#!/bin/sh
sourceFolder="/home/www/wordpress"
backDir="/var/backup"
folderName="wordpress$(date +%y%m%d)"
destDir="$backDir/$folderName"
if [ ! -d "$destDir" ]; then
echo "$destDir is not exist"
else
rm -rf $destDir
echo "delete dir: $destDir"
fi
mkdir -p $destDir
if [ ! -f "$backDir/$folderName.tar.gz" ]; then
echo "$folderName.tar.gz is not exist"
else
rm -rf "$backDir/$folderName.tar.gz"
echo "delete $backDir/$folderName.tar.gz"
fi
cp -rf $sourceFolder $destDir
echo "copy blog to $destDir finished"
sqlPath="$destDir/wordpress.sql"
user="dbuser"
password="yourdbpassword"
dbname="wordpress"
mysqldump -u$user -p$password $dbname > $sqlPath
echo "backup wordpress.sql to $sqlPath finished"
cd $backDir
tar -zcf $folderName.tar.gz $folderName
echo "tar $destDir complete"
rm -rf $destDir
echo "delete $destDir"