我有一台 Linux 服务器设置,其中安装了我的应用程序、数据库和 phpmyadmin 以维护该数据库。以下是我的 docker 容器的列表。
我想备份我的数据库。我可以登录 myphpadmin 并手动导出数据库,但我想使用命令行来执行此操作,这样我就可以在 cron 作业中使用它进行自动备份。
有人可以帮我解决这个问题吗?
我尝试了 mysqldump 但它不起作用。它给了我该文件,但该文件不包含数据。它显示错误,mysqldump 在 docker 中不可用。
sudo docker exec <ContainerId> mysqldump -u <username> -p<password> <dbname> > <backupfilename>.sql
我尝试了上面的命令,并期望一个包含我所有数据的 sql 文件。
根据您在问题中提供的解释和图像, 你的命令是完美的,但你选择的容器是错误的。
您正在尝试在托管 phpMyAdmin 的容器上执行操作,但这只是数据库的前端。
您需要在 MariaDB 容器上应用此命令。 所以你需要写的命令是
sudo docker exec c9bb8ee51872 mysqldump -u <username> -p<password> <dbname> > fileback01.sql