在Docker中備份MySQL數據庫,可以采用以下兩種方法:
mysqldump
工具備份首先,進入MySQL容器。如果使用 docker-compose
,可以通過以下命令進入:
docker-compose exec mysql bash
如果使用單個容器,可以使用以下命令:
docker exec -it mysql bash
在容器內,使用 mysqldump
命令備份數據庫。假設要備份的數據庫名為 mydb
,備份文件保存到宿主機的 backup
目錄下,可以使用以下命令:
mysqldump -u root -p mydb > /path/to/backup/mydb_backup.sql
其中,-u root -p
是登錄MySQL的用戶名和密碼,/path/to/backup/
是備份文件在宿主機上的保存路徑。執行此命令后,系統會提示輸入密碼,然后開始備份。
創建一個用于備份的Docker卷:
docker volume create mysql_backup
停止并刪除MySQL容器(如果需要保留數據,請確保已設置MySQL的數據卷):
docker-compose down
或者,對于單個容器:
docker stop mysql
docker rm mysql
使用新的數據卷重新啟動MySQL容器:
docker-compose up -d --name mysql -v mysql_backup:/var/lib/mysql mysql
對于單個容器:
docker run -d --name mysql -v mysql_backup:/var/lib/mysql mysql
在MySQL容器內,創建一個用于備份的目錄,并將備份文件保存到這個目錄中??梢允褂靡韵旅睿?/p>
mkdir /backup
mysqldump -u root -p mydb > /backup/mydb_backup.sql
其中,/backup/
是備份文件在MySQL容器內的保存路徑。執行此命令后,系統會提示輸入密碼,然后開始備份。
通過以上任一方法,你都可以成功地在Docker中備份MySQL數據庫。