中国站
帮助中心 > 数据库 > 云数据库MySQL > 常见问题 > 如何导入数据

如何导入数据

建议使用:

导出:

  1. mysqldump -u'username' -p'pwd' -F --skip-add-drop-table --single-transaction --master-data=2 -B 1 2 >db.sql

导入:

  1. mysql> source sql文件绝对路径;

从源数据库导出

说明:
[—tables 表1 表2 …] 中括号[]包住的表示可选参数。

导出指定数据库下的表(结构、数据)

  1. mysqldump -u'username' -p'pwd' --skip-add-drop-table -B 库名 [--tables 1 2 ...]> target.sql

导出指定数据库下的表(结构)

  1. mysqldump -u'username' -p'pwd' -d --skip-add-drop-table -B 库名 [--tables 1 2 ...]> target.sql

导出指定数据库下的表(数据)

  1. mysqldump -u'username' -p'pwd' -t --skip-add-drop-table -B 库名 [--tables 1 2 ...]> target.sql

导出多个数据库下的表(结构、数据)

  1. mysqldump -u'username' -p'pwd' --skip-add-drop-table -B 库名1 库名2 ... > target.sql

导出多个数据库下的表(结构)

  1. mysqldump -u'username' -p'pwd' -d --skip-add-drop-table -B 库名1 库名2 ... > target.sql

导出多个数据库下的表(数据)

  1. mysqldump -u'username' -p'pwd' -t --skip-add-drop-table -B 库名1 库名2 ... > target.sql

常用参数解析

  • -u —user=name:数据备份所使用的用户名
  • -p —password[=name]:数据备份所使用的用户名对应的密码
  • -P —port=#:数据库服务端口
  • -h —host=name:数据备份的源地址
  • -t —no-create-info:只导出数据,而不添加CREATE TABLE 语句
  • —master-data=2:二进制日志的位置和文件名会被记录在文件中,如果等于1,将把它作为一个CHANGE MASTER命令;如果等于2,该命令将以注释符号为前缀。
  • -d —no-data:不导出任何数据,只导出数据库表结构
  • -B —databases:导出数据库列表,单个库时可省略
  • -A —all-databases:所有库
  • —single-transaction:此选项会将隔离级别设置为:REPEATABLE READ。并且随后再执行一条START TRANSACTION语句,让整个数据在dump过程中保证数据的一致性,这个选项对InnoDB的数据表很有用,且不会锁表。但是这个不能保证MyISAM表和MEMORY表的数据一致性。
  • —skip-add-drop-table 不添加DROP TABLE 语句
  • —tables 指定单个或多个表
  • -F, —flush-logs 在开始备份之前刷新到新的日志文件

将上一步操作生成的(.sql)文件导入数据库

内网导入

  1. 登录 MySQL 控制台, 在实例列表,点击实例名称或操作栏的管理,点击右上方的登录数据库按钮,登录DMS、点击 SQL操作 > 命令窗口。若未创建数据库账号,可在账号管理页签创建账号并授权
    或者用命令行工具登录云数据库:
    1. mysql -u'user' -p'pwd' -h'云RDS连接ip' -P RDS端口(默认3306)
  2. 登录成功后,按照导入的sql文件内容,创建目标数据库。

    1. 如果导出语句没有使用-B参数,数据库字符集为utf8,按需修改。

      1. mysql> create database 库名 charset utf8;
      2. mysql> use 库名;
      3. mysql> source sql文件绝对路径;
    2. 导出语句使用-B参数,直接导入。

      1. mysql> source sql文件绝对路径;

使用第三方工具(Navicat等)

导入导出均可。
请参见:https://www.yisu.com/help/id_579.html

常见问题

  1. 导入过程中出现提示“权限不足”,通常是由设置全部变量的语句造成,打开文件删除对应语句即可。

  2. 导入是不允许覆盖系统表的。