Linux mysql備份與還原
1 備份整庫 注意箭頭指向右 >
-- 登入到資料庫伺服器,選擇一個目錄,執行下列備份語句,如果報mysqldump不存在,則進入到mysql安裝目錄bin目錄下執行
mysqldump -uroot -pxxx bunuo>bunuo_temp.sql -- 生成檔案就在當前目錄下
2 將備份(bunuo_temp.sql)檔案上傳到臨時伺服器某個位置
3 登入到中間伺服器建立mysql臨時庫,從linux連線mysql
mysql -uroot -pxxx
4 mysql命令列建立臨時庫,mysql命令列下執行下列建立語句
CREATE DATABASE bunuo_temp DEFAULT CHARACTER SET utf8;
5 上傳bunuo_temp.sql到臨時伺服器上,在檔案所在目錄下執行恢復語句,將備份庫匯入臨時伺服器,恢復庫時的箭頭指向左 <
退出mysql命令列,進入linux服務命令列操作
mysql -uroot -pxxx bunuo_temp<bunuo_temp.sql
備註:如果報mysql不存在,則需要進入mysql安裝目錄bin目錄下,並且將備份檔案也傳到該目錄下,再執行恢復語句
6 備註
(1) 備份檔案中前面的檔案不能刪除,否則匯入時會報ERROR-1231
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
ERROR-1231
(2) 報ERROR-1231是因為max_allowed_packet設定過小導致
show variables like '%max_allowed_packet%';
select @@max_allowed_packet;
set global max_allowed_packet = 1024*1024*1024; -- byte
(3) 只匯出表結構語句
mysqldump -uroot -pxxx -d 資料庫名 > 資料庫名.sql