Docker中Mysql容器内如何执行SQL文件?
Docker中Mysql容器内如何执行SQL文件?
什么时候需要在容器内部执行sql文件呢?
一般情况下:当我们需要备份数据库或同步数据库时,可以使用navicat等工具方便快捷完成sql文件的执行。
navicat工具在执行时,遇到内存溢出、数据无法全部同步、某些表的数据无法同步成功等问题时,我们就可以在命令行中执行sql文件。
查看当前运行的容器
docker ps
拷贝sql文件到mysql容器中
sudo docker cp /root/sqlfile/ 423d23129a6b:/home/temp
将sqlfile文件夹下的init.sql数据库拷贝到【423d23129a6b容器】下的/home/temp/文件夹下。
进入mysql容器内部
docker exec -it 423d23129a6b /bin/bash
在mysql容器内部连接到mysql数据库
mysql -u root -p
切换到对应的数据库下,例如 test
use test;
运行如下命令执行存放在mysql容器内home/temp/下的SQL文件
source /home/temp/init.sql