我想在mysql容器上运行脚本,但是当我从主机运行脚本时,它没有进行所需的更改。
我在docker主机上运行的命令是
docker exec mysql mysql -u root -ppassword perks_camp < ./1.0.1.sql
它说mysql: [Warning] Using a password on the command line interface can be insecure.
,这是预期的,而且似乎其中的脚本已运行,但是当我登录到容器的db时,未应用更改。
另一方面,当我将文件复制到容器并从容器mysql -u root -ppassword perks_camp < ./1.0.1.sql
内部运行相同的命令时,所做的更改就会应用。
这是怎么了?我想念什么?
答案 0 :(得分:1)
备份
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
还原
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE