Linking

Capturing Life & Tech

  • 主页
  • 随笔
  • 关于我
所有文章 外链

Linking

Capturing Life & Tech

  • 主页
  • 随笔
  • 关于我

MySQL数据导入导出命令

阅读数:次 2021-05-15
字数统计: 780字   |   阅读时长≈ 3分

最近用数据库的过程中,导入导出操作比较频繁,基本上都是用命令行导入的,对版本的切换,数据格式的修改,都有操作,应该讲比工具好用很多,顺手记录了一下。

1.操作

1.1导入

1、mysql 命令导入

1
mysql -h host -u用户名 -p密码 数据库名 < 要导入的数据库数据(database-name.sql)
1
2
# example
mysql -h localhost -uroot -p database-name < database-name.sql

如果数据库未创建,需先创建好

1
2
mysql > create database [ IF NOT EXISTS ] db-name default charset utf8mb4 collate utf8mb4_unicode_ci;
mysql > use db-name;

再执行导入命令.

2、source 命令导入

1
2
3
4
5
6
7
# login
$ mysql -h localhost -P port --protocol=tcp -uroot -p
# 8.0 用法
mysql> create database db-name default charset utf8mb4 collate utf8mb4_unicode_ci; # 创建数据库
mysql> use db-name; # 使用已创建的数据库
mysql> set names utf8mb4; # 设置编码
mysql> source /home/path2/abc.sql # 导入备份数据库,注意不要逗号

注意 utf8mb4 基本为8.0以后的字符用法, 以前都是utf8, 在sql脚本中全局替换即可使用. MySQL5.7 可用下面方式

1
2
3
4
mysql> create database db-name default charset utf8 collate utf8_unicode_ci;
mysql> use db-name;
mysql> set names utf8;
mysql> source /path/to/xxx.sql

3、使用 LOAD DATA 导入数据

1
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

4、使用 mysqlimport 导入数据

1
2
$ mysqlimport -u root -p --local mytbl dump.txt
password *****

关于3/4 的具体用法, 点击参考.

1.2导出

解决导出限制

为了方便,直接设置所有路径都可以, Diable secure-file-priv variable.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ sudo vim /etc/my.cnf

[mysqld]
secure-file-priv = ""

# restart mysqld service
$ sudo systemctl restart mysqld
# or
$ service mysqld restart

# Confirm after restarting service

mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_file_priv | |
+------------------+-------+
1 row in set (0.00 sec)

# Try to save QUERY content to a different path

mysql> SELECT * FROM information_schema.processlist into outfile '/tmp/mysql_processes.txt';

Query OK, 1 row affected (0.00 sec)

reference

  • how-to-solve-mysql-server-is-running-with-the-secure-file-priv-error

操作

使用 SELECT … INTO OUTFILE 语句导出数据

1
2
mysql> SELECT * FROM runoob_tbl 
-> INTO OUTFILE '/tmp/runoob.txt';

导出表作为原始数据

导出某个表结构:mysqldump -h localhost -u root -p -d 数据库名 表名 > 导出的sql文件存放路径,例如:

1
mysqldump -h localhost -u root -p -d test student > ./student.sql
  • -d 表示只导出表结构

导出某个表结构及数据:mysqldump -h localhost -u root -p 数据库名 表名 > 导出的sql文件存放路径,例如:

1
mysqldump -h localhost -u root -p test student > ./student.sql

导出某个表数据:mysqldump -h localhost -u root -p -t 数据库名 表名 > 导出的sql文件存放路径,例如:

1
mysqldump -h localhost -u root -p -t test student > ./student.sql
  • -t 导出数据,不要结构

从其他主机导出数据库

mysqldump -h localhost -u root -p 数据库名 > 导出的sql文件存放路径,例如:

1
mysqldump --column-statistics=0 -h 172.16.37.88 -uroot -p --hex-blob test > ./test.sql 
  • –hex-blob: 解决中文乱码问题
  • –column-statistics=0 新版的mysqldump默认启用了一个新标志,通过- -column-statistics=0来禁用

将数据表及数据库拷贝至其他主机

具体请查看参考链接.

2.reference

  • mysql-database-export
  • 本文作者: Linking
  • 本文链接: https://linking.fun/2021/05/15/MySQL数据导入导出命令/
  • 版权声明: 版权所有,转载请注明出处!
  • MySQL
  • CS

扫一扫,分享到微信

reading records
我的动漫列表
  1. 1. 1.操作
    1. 1.1. 1.1导入
      1. 1.1.1. 1、mysql 命令导入
      2. 1.1.2. 2、source 命令导入
      3. 1.1.3. 3、使用 LOAD DATA 导入数据
      4. 1.1.4. 4、使用 mysqlimport 导入数据
    2. 1.2. 1.2导出
      1. 1.2.1. 解决导出限制
      2. 1.2.2. 操作
        1. 1.2.2.1. 使用 SELECT … INTO OUTFILE 语句导出数据
        2. 1.2.2.2. 导出表作为原始数据
        3. 1.2.2.3. 从其他主机导出数据库
        4. 1.2.2.4. 将数据表及数据库拷贝至其他主机
  2. 2. 2.reference
© 2015-2026 Linking
GitHub:hexo-theme-yilia-plus by Litten
本站总访问量次 | 本站访客数人
  • 所有文章
  • 外链

tag:

  • weather
  • 需求
  • essay
  • basketball
  • olympic
  • nginx
  • APPScan
  • SQl盲注
  • xss
  • Ajax
  • ajax
  • ai
  • agent
  • openclaw
  • ccf
  • Nginx
  • HTML5
  • html5
  • hmtl5
  • sse
  • JavaScriptCore
  • Oracle
  • operation
  • Linux
  • deploy
  • Mac Office
  • markdown
  • ListView
  • GridView
  • MySQL
  • 慢查询
  • mongodb
  • 转置
  • thought
  • network
  • ubuntu
  • NetworkManager
  • RFKill
  • Netplan
  • avatar
  • cocoa
  • blog
  • Gitalk
  • container
  • macvlan
  • docker
  • oracle
  • cookie
  • patch
  • gitea
  • git
  • iOS
  • https
  • 多线程
  • bundle
  • 兼容性
  • HTTP
  • 绘图
  • cs
  • java
  • 效率
  • 快捷键
  • route
  • nodejs
  • pip
  • arcgis
  • arcgis 建模
  • 标识
  • redis
  • read
  • bookList
  • running
  • showdoc
  • disk
  • unit-test
  • D.Wade
  • thoughts
  • duoduo
  • Python
  • python
  • tomcat
  • 读书节
  • session
  • jdk
  • war
  • 加班
  • Android onclick事件监听
  • 正则
  • 手机品牌匹配
  • ntp
  • OpenLayers
  • Geoserver
  • wechat
  • 微信公众号
  • 爬虫
  • WeChat
  • 张靓颖
  • 动漫
  • vpn
  • PPT
  • MarkDown
  • plan
  • 朱赟
  • 极客时间专栏
  • 极客邦
  • 模块化
  • MVC
  • excel
  • NBA
  • kobe
  • team
  • crawler
  • 进度条
  • ssl
  • book
  • anti-stealing-link
  • Agentic Engineering
  • Vibe Coding
  • Software 3.0
  • Andrej Karpathy
  • LLM
  • Programming

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • GitHub Trending
  • OpenAI ChatGPT
  • Gitee码云
  • 简书
  • CSDN