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