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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM