需求:远程主机中的docker容器中存放着MySQL数据库数据,现在需要将其数据库信息导入到本机中的docker容器中
将远程主机中的docker中的数据库导入到本地
远程主机docker容器中的数据库名称为:testdb
导出的文件命名为:dump.sql
远程主机IP为:192.168.240.123
数据库端口为:3306
数据库账户为:root
数据库密码为:123123
本地执行以下命令:
$ /usr/bin/mysqldump testdb --column-statistics=0 --result-file=./dump.sql --complete-insert --user=root --host=192.168.240.123 --port=3306 --password=123123
mysql8.0版本需要添加 --column-statistics=0,不然会报错:
mysqldump: Couldn’t execute…Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)
本地数据库文件复制到docker容器中
容器名称为:docker_mysql
$ docker cp dump.sql docker_mysql:/opt
docker容器中将数据库文件添加到mysql数据库中
执行以下命令进入到docker容器中:
$ docker exec -it docker_mysql /bin/bash
进入到容器后,执行以下命令进入到mysql:
$ mysql -u root -p
创建数据库,与之前导出的数据库名称保持一致:
> create database testdb;
将数据库文件导入到数据库中:
> use testdb;
> source /opt/dump.sql;
这样就可以使用本地的数据库啦!