天天看點

Docker 中 MySQL 資料的導入導出

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

由于 docker 不是實體,是以要把mysql的資料庫導出到實體機上,指令如下:

1:檢視下 mysql 運作名稱

#docker ps      

結果:

Docker 中 MySQL 資料的導入導出

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”