docker mysql数据库数据导入导出
数据库导出
mysqldump 是 mysql 用于转存储数据库的实用程序。它主要产生一个 SQL 脚本,其中包含从头重新创建数据库所必需的命令 CREATE TABLE INSERT
等。
进入docker中mysql
docker exec -it container_id /bin/bash
数据库导出结构不导出数据
mysqldump --opt -d opm -uroot -p>opm-struct.sql
数据库表结构和数据一起导出
mysqldump -t opm -uroot -p > opm.sql
数据库只导出数据不导出表结构
mysqldump -uroot -p opm --no-create-info>opm-data.sql
可以将上面两条命令合二为一
docker exec -it container_id mysqldump -uroot -p123456 demo > demo.sql
将文件从容器复制到主机
docker cp container_id:src_path dest_path
mysql查看binlog
mysqlbinlog -vv --base64-output=decode-rows binlog.000098
数据库导入
1. 从宿主机下/root/demo.sql文件 复制到 mysql容器下 /demo/demo.sql
docker cp /root/demo.sql mysql:/demo.sql
2. 已交互式进入mysql容器
docker exec -it mysql /bin/bash
3. 登录mysql服务
mysql -uroot -p123456
4. 使用demo库
use demo;
5.执行mysql容器下/demo.sql 源数据
source /demo.sql;