mysql 數據庫表備份和還原
阿新 • • 發佈:2019-01-08
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 數據庫表備份和還原