MySQL数据导出导入

embedded/2025/1/13 12:31:14/

一、数据导出


1.导出全库备份到本地的目录

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-set=utf8 --lock-all-tables --add-drop-database -A >db.all.sql

2.导出指定库到本地的目录(例如mysql库)

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-set=utf8 --databases mysql > db.sql

3.导出某个库的表到本地的目录(例如mysql库的user表)

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-set=utf8 --tables mysql user> db.table.sql

4.导出指定库的表(仅数据)到本地的目录(例如mysql库的user表,带过滤条件)

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-set=utf8 --no-create-db --no-create-info --tables mysqluser --where="host='localhost'"> db.table.sql

5.导出某个库的所有表结构

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-set=utf8 --no-data --databases mysql > db.nodata.sql

6.导出某个查询sql的数据为txt格式文件到本地的目录(各数据值之间用"制表符"分隔)


例如sql为'select user,host,password from mysql.user;'

 mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306--default-character-set=utf8 --skip-column-names -B -e 'selectuser,host,password from mysql.user;' > mysql_user.txt

7.导出某个查询sql的数据为txt格式文件到MySQL服务器.


登录MySQL,将默认的制表符换成逗号.(适应csv格式文件).
指定的路径,mysql要有写的权限.最好用tmp目录,文件用完之后,再删除!

SELECT user,host,password FROM mysql.user INTO OUTFILE'/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';


二、数据导入


1.恢复全库数据到MySQL,因为包含mysql库的权限表,导入完成需要执行FLUSH PRIVILEGES;命令

第一种方法:

mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 <db.all.sql

第二种方法:
登录MySQL,执行source命令,后面的文件名要用绝对路径.

mysql> source /tmp/db.all.sql;


2.恢复某个库的数据(mysql库的user表)


第一种方法:

mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 mysql< db.table.sql

第二种方法:
登录MySQL,执行source命令,后面的文件名要用绝对路径.

mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
mysql> use mysql;
mysql> source /tmp/db.table.sql;

3.恢复MySQL服务器上面的txt格式文件(需要FILE权限,各数据值之间用"制表符"分隔)

mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306--default-character-set=utf8
mysql> use mysql;
mysql> LOAD DATA INFILE '/tmp/mysql_user.txt' INTO TABLE user ;


4.恢复MySQL服务器上面的csv格式文件(需要FILE权限,各数据值之间用"逗号"分隔)

mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306--default-character-set=utf8
mysql> use mysql;
mysql> LOAD DATA INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDSTERMINATED BY ',';

5.恢复本地的txt或csv文件到MySQL

mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
mysql> use mysql;
# txt
mysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user;
# csv
mysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDSTERMINATED BY ',';


三、注意事项


1.关于MySQL连接


-u$USER 用户名
-p$PASSWD 密码
-h127.0.0.1 如果连接远程服务器,请用对应的主机名或者IP地址替换
-P3306 端口
--default-character-set=utf8 指定字符集


2.关于mysql参数


--skip-column-names 不显示数据列的名字
-B 以批处理的方式运行mysql程序.查询结果将显示为制表符间隔格式.
-e 执行命令后,退出


3.关于mysqldump参数


-A 全库备份
--routines 备份存储过程和函数
--default-character-set=utf8 设置字符集
--lock-all-tables 全局一致性锁
--add-drop-database 在每次执行建表语句之前,先执行DROP TABLE IF EXIST语句
--no-create-db 不输出CREATE DATABASE语句
--no-create-info 不输出CREATE TABLE语句
--databases 将后面的参数都解析为库名
--tables 第一个参数为库名 后续为表名


4.关于LOAD DATA语法


如果LOAD DATA语句不带LOCAL关键字,就在MySQL的服务器上直接读取文件,且要具有FILE权限。
如果带LOCAL关键字,就在客户端本地读取数据文件,通过网络传到MySQL。
LOAD DATA语句,同样被记录到binlog,不过是内部的机制。

5、MySQL Select into outfile用于导出指定的查询数据到文件,数据是导出到服务器所在的目录上


导出表中所有数据到C盘根目录outfile.txt中如下:
Select * into outfile 'c://outfile.txt' from test;
导出表中指定查询条件2005-06-08号的数据到C盘根目录outfile1.txt中如下:
Select * into outfile 'c://outfile.txt' from test where beginDate='2008-06-08'
再如:
mysql> select * from action_bak limit 10 into outfile '/tmp/test1';
mysql> select * from action_bak limit 10 into outfile 'test1';


附:测试脚本

mysqldump -h120.55.189.188-udatawarehouse -pDTHS2015 datatest kingr1 >C:\data_dir\kingr1.txtmysqldump -h120.55.189.188-udatawarehouse -pDTHS2015 logdata wechat_trace>C:\data_dir\wechat_trace.txtmysql -h120.55.189.18-udatawarehouse -pDTHS2015 logdata -e "select * from wechat_trace limit8000"> C:\data_dir\wechat_trace_8000.txtmysqldump -h120.55.189.188-udatawarehouse -pDTHS2015 logdata wechat_trace>C:\data_dir\wechat_trace.txt

http://www.ppmy.cn/embedded/153563.html

相关文章

模拟退火算法在Matlab中的两个应用案例及代码

案例一&#xff1a;求解函数最小值 目标函数为f(x)x^4-2x^23&#xff0c;求该函数在区间[-2,2]上的最小值。 function [x,fval] simulated_annealing(fun,x0,options) % 设置默认选项 default_options struct(T0,100,alpha,0.95,T_min,1e-8,max_iter,1000,verbose,false); if…

常用的排序算法(Java版)

文章目录 前言一、选择排序二、插入排序三、冒泡排序四、快速排序五、归并排序六、希尔排序七、堆排序总结 前言 排序算法有很多&#xff0c;这里列出最常用的一些&#xff0c;如选择排序、插入、冒泡等。 稳定性&#xff1a;待排序数据中有相同的数&#xff0c;排序之后相同…

“迎新系统”与“智慧”的融合:构建高效、便捷的新生入学体验

于当今之社会&#xff0c;“智慧教育”业已成为助推教育现代化之重要趋向。在此种背景之下&#xff0c;“迎新系统”身为高校迎新工作之核心环节&#xff0c;其智能化水准径直影响着新生之入学体验以及校园管理之效能。传统意义上的迎新工作&#xff0c;通常牵涉大量的信息收集…

【优选算法篇】:深入浅出位运算--性能优化的利器

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;优选算法篇–CSDN博客 文章目录 一.位运算一.位运算概述二.常见的位运算操作符三.常见的位运…

3. 使用springboot做一个音乐播放器软件项目【封装项目使用的工具类】

上一章文章 我们做了 音乐播放器这个项目的 框架搭建和一些基础配置文件。 参考网址&#xff1a; https://blog.csdn.net/Drug_/article/details/145044096 这篇文章我们来分享一些 项目中用到的一些工具类。 一般项目里 我会创建一个 utils 文件夹 来存放 项目中常用的工具类…

Rust 生命周期

Rust 生命周期 引言 Rust 是一种系统编程语言,以其内存安全、并发性和高性能而闻名。在 Rust 中,生命周期是一个核心概念,用于确保引用的有效性,从而防止内存安全问题。本文将深入探讨 Rust 的生命周期,包括其工作原理、使用场景以及最佳实践。 生命周期基础 什么是生…

UnityDots学习(三)

此篇记录Dots使用的步骤。 Demo逻辑是在场景内创建2000个物体。1000个是搜索&#xff0c;1000是被搜索的目标。 每个物体都随机朝某个方向移动。 在Update里。1000个搜索者会对1000被搜索的目标进行遍历查找到哪个目标离他最近&#xff0c;并且画出连线。 逻辑如下&#xf…

《分布式光纤测温:解锁楼宇安全的 “高精度密码”》

在楼宇建筑中&#xff0c;因其内部空间庞大&#xff0c;各类电器设施众多&#xff0c;如何以一种既高效又稳定&#xff0c;兼具低成本与高覆盖特性的方式&#xff0c;为那些关键线路节点开展温度监测&#xff0c;是目前在安全监测领域一项重点研究项目&#xff0c;而无锡布里渊…