1. 程式人生 > >mysql 數據庫表備份和還原

mysql 數據庫表備份和還原

pat 用戶名 mman base 表名 mysqld use class 密碼驗證

#!/bin/bash
#ip地址
HOST=localhost
#用戶名
USER=claim
#密碼
PASSWORD=Pw123456!
#數據庫名稱
DATABASE=claim_oauth2
#備份路徑
BACKUP_PATH=/opt/devbacksql/devoauth2/
#備份的表
table="oauth_client_details sys_auth sys_role sys_users sys_user_role sys_role_auth third_party"
#日誌路徑
logfile=/opt/devsql/oauth2.log

#當前日期
DATE=`date ‘+%Y%m%d‘`
echo $DATE

#連接mysql
#mysql 
-h $HOST -u $USER -p$PASSWORD -s claim_oauth2<<EOF #進入到備份目錄 #cd $BACKUP_PATH #遍歷數據中的表 #for table in $DATABASE #do # echo $table #獲取表名 #table=$(mysql -h $HOST -u $USER -p$PASSWORD -s $DATABASE -e "show tables;"|sed ‘1d‘) for tb in $table do #備份文件名 DUMPNAME=""$tb"_"$DATE".sql" mysqldump
-h $HOST -u $USER -p$PASSWORD $DATABASE $tb> $BACKUP_PATH$DUMPNAME #if [ $? = 0 ] #then # echo "$DUMPNAME backup Successful!">>$logfile #else # echo "$DUMPNAME backup fail!" >>$logfile #fi done #done #if [ $? = 0 ] # then # echo "backup all tables Successful!">>$logfile #
else # echo "backup all tables fail!" >>$logfile #fi exit 1

[root@insure devsql]# mysql -u claim -pPw123456!
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

解決辦法:在[mysqld]後面任意一行添加“skip-grant-tables”用來跳過密碼驗證的過程

mysql 數據庫表備份和還原