一、一般的資料庫備份與還原
docker exec -i a63163746faf mysqldump -uroot -pcpic1024 --single-transaction mbc-crawl > /tmp/mbc-crawl.sql
a63163746faf代表mysql容器id,因為我的mysql服務是用docker部署的,所以需要先連線docker容器。當然也可以先進入docker容器再進行備份操作,例如:
docker exec -it a63163746faf /bin/bash
mysqldump -uroot -pcpic1024 --single-transaction mbc-crawl > /tmp/mbc-crawl.sql
略有不同的是前面的備份(匯出)命令是在主機上操作的,所以匯出的sql檔案是在主機的/tmp目錄下。而後面的命令是先進入容器後執行的備份命令,所以匯出的sql檔案是在容器的/tmp目錄下。
如果想把容器裡的sql檔案拷貝到主機上,可以先退出容器回到主機,然後執行下面的命令
docker cp a63163746faf:/tmp/mbc-crawl.sql /tmp/mbc-crawl.sql
把sql檔案匯入(還原)到新的資料庫中,首先是建立新資料庫,然後執行命令source /tmp/mbc-crawl.sql
二、壓縮備份與還原
壓縮備份:
docker exec -i a63163746faf mysqldump -uroot -p -p3306 -q -q --set-gtid-purged=off --default-character-set=utf8 --hex-blob --skip-lock-tables --databases mbc-crawl 2>/tmp/abc.err |gzip >/tmp/mbc-crawl.sql.gz
壓縮還原:
這個需要在容器裡面執行,所以需要先把壓縮檔案拷貝到容器裡,比如放到/tmp目錄下。然後執行下面的命令
gunzip -c /tmp/mbc-crawl.sql.gz |mysql -uroot -pcpic1024 -vvv -p3306 --default-character-set=utf8 mbc-crawl 1> /tmp/abc.log 2>/tmp/abc.err
注意備份和還原的資料庫名稱必須是相同的,比如這裡的mbc-crawl。否則會還原失敗。
MYSQL資料庫備份匯出
資料匯出 備份整個資料庫 mysqldump u username p databasename d sql備份資料庫中的某個表 mysqldump u root h host p dbname tbname1,tbname2 sql備份多個資料庫mysqldump u root h host p ...
MySQL匯入匯出資料庫和備份還原資料庫
注意 dos視窗首先進入mysql的安裝目錄中的bin資料夾下,如 cd d software programmetools mysql 5.5.28 installdirectory bin 在bin目錄下進行相應的匯入匯出備份恢復操作 1.匯出資料庫 d software programmeto...
mysql 資料庫快速入門 資料庫匯出和備份
在控制台使用mysqldump命令可以用來生成指定資料庫的指令碼文字,但要注意,指令碼文字中只包含資料庫的內容,而不會存在建立資料庫的語句!所以在恢復資料時,還需要自已手動建立乙個資料庫之後再去恢復資料。注意,mysqldump命令是在windows控制台下執行,無需登入mysql!p後緊跟使用者密...