1. 程式人生 > >Docker 中 MySQL 資料的匯入匯出

Docker 中 MySQL 資料的匯入匯出

伺服器在使用了 Docker 後,對於備份和恢復資料庫的事情做下記錄:

由於 docker 不是實體,所以要把mysql的資料庫匯出到物理機上,命令如下:

1:檢視下 mysql 執行名稱

#docker ps

結果:

docker_ps

2:備份docker資料庫

由第一步的結果可知,我們的 mysql 執行在一個叫 mysql_server 的 docker 容器中。而我們要備份的資料庫就在裡面,叫做 test_db。mysql 的使用者名稱密碼均為root,我們將檔案備份到/opt/sql_bak資料夾下。

docker exec -it  mysql_server【docker容器名稱/ID】
mysqldump -uroot -p123456【資料庫密碼】 test_db【資料庫名稱】 > /opt/sql_bak/test_db.sql【匯出表格路徑】

3:匯入docker資料庫

方法1:

先將檔案匯入到容器
#docker cp **.sql 【容器名】:/root/
進入容器
#docker exec -ti 【容器名/ID】sh
將檔案匯入資料庫
# mysql -uroot -p 【資料庫名】 < ***.sql

方法2:

docker exec -i  mysql_server【docker容器名稱/ID】 mysqltest_db_copy【資料庫名稱】
< /opt/sql_bak/test_db.sql【本地資料表路徑】

注意:這裡需要將引數 -it 更換為 -i ,
否則會報錯:”the input device is not a TTY