一、导出数据库

1、导出完整数据:表结构+数据

Linux 下可以使用 **mysqldump** 命令来导出数据库,语法格式如下:

mysqldump -u用户名 -p 数据库名 > 数据库名.sql

以下命令可以导出 **abc** 数据库的数据和表结构:

# /usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql

按下回车键后会提示输入密码,输入即可。

注意:mysqldump 命令路径是根据你 MySQL 安装路径决定的。

2、只导出表结构

如果你只需要导出 MySQL 的数据表结构,可以使用 **-d** 选项,格式如下:

mysqldump -u用户名 -p -d 数据库名 > 数据库名.sql

以下命令可以导出 abc 数据库的表结构:

#/usr/local/mysql/bin/mysqldump -uroot -p -d abc > abc.sql

二、导入数据库

使用 mysql 命令导入

使用 mysql 命令导入数据库格式如下:

mysql -u用户名 -p 数据库名 < 数据库名.sql

以下实例将备份的数据库 abc.sql 导入到数据库中:

# mysql -uroot -p123456 < abc.sql

使用 source 命令导入

使用 source 命令需要我们先登录到 mysql 中,并创建一个空的数据库:

mysql> create database abc;      # 创建数据库
mysql> use abc; # 使用已创建的数据库
mysql> set names utf8; # 设置编码
mysql> source /home/abc/abc.sql # 导入备份数据库

注意你备份的 sql 文件路径。

在docker中操作

root用户进入容器:

docker exec -it -u root containerId bash

进入容器之后使用上面的mysql相关指令进行操作即可。

从容器中导出到本地计算机

sudo docker cp feb39d3faffb:/etc/bash.bashrc  ~/Downloads

或者反过来

sudo docker cp /tmp/index.html feb39d3faffb:/etc/