MySQL数据导出与导入
发一篇基础的,关于MySQL数据导出导入的文章,目的有二:
工具
mysql
mysqldump
应用举例
导出
- 导出全库备份到本地的目录
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
- 导出指定库到本地的目录(例如mysql库)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --databases mysql > db.sql
- 导出某个库的表到本地的目录(例如mysql库的user表)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --tables mysql user> db.table.sql
- 导出指定库的表(仅数据)到本地的目录(例如mysql库的user表,带过滤条件)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --no-create-db --no-create-info --tables mysql user --where="host='localhost'"> db.table.sql
- 导出某个库的所有表结构
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --no-data --databases mysql > db.nodata.sql
- 导出某个查询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 'select user,host,password from mysql.user;' > mysql_user.txt
- 导出某个查询sql的数据为txt格式文件到MySQL服务器.
登录MySQL,将默认的制表符换成逗号.(适应csv格式文件).
指定的路径,mysql要有写的权限.最好用tmp目录,文件用完之后,再删除!SELECT user,host,password FROM mysql.user INTO OUTFILE '/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';
导入
- 恢复全库数据到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;
- 恢复某个库的数据(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;
- 恢复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 ;
- 恢复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 FIELDS TERMINATED BY ',';
- 恢复本地的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 FIELDS TERMINATED BY ',';
注意事项
- 关于MySQL连接
-u$USER 用户名
-p$PASSWD 密码
-h127.0.0.1 如果连接远程服务器,请用对应的主机名或者IP地址替换
-P3306 端口
--default-character-set=utf8 指定字符集 - 关于mysql参数
--skip-column-names 不显示数据列的名字
-B 以批处理的方式运行mysql程序.查询结果将显示为制表符间隔格式.
-e 执行命令后,退出 - 关于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 第一个参数为库名 后续为表名 - 关于LOAD DATA语法
如果LOAD DATA语句不带LOCAL关键字,就在MySQL的服务器上直接读取文件,且要具有FILE权限.
如果带LOCAL关键字,就在客户端本地读取数据文件,通过网络传到MySQL.
LOAD DATA语句,同样被记录到binlog,不过是内部的机制.
MySQL数据导出与导入相关推荐
- mysql导出权限授权_本文实例讲述了mysql数据库创建账号、授权、数据导出、导入操作。分享给大家供大家参考,具体如下:1、账号创建及授权grant all privileg...
本文实例讲述了mysql数据库创建账号.授权.数据导出.导入操作.分享给大家供大家参考,具体如下: 1.账号创建及授权 grant all privileges on *.* to 'yangxin' ...
- mysql数据导出权限问题
mysql数据导出的方法有非常多,比如mysqldump, mysql -e 'sql' > file, 这些都能够非常方便的导出数据,但是在使用普通用户导出数据的时候,出现了问题. 1 sel ...
- python抓取数据库数据封装成json_用Python将mysql数据导出成json的方法
1.相关说明 此脚本可以将Mysql的数据导出成Json格式,导出的内容可以进行select查询确定. 数据传入参数有:dbConfigName, selectSql, jsonPath, fileN ...
- memcached命令行、Memcached数据导出和导入、php连接memcache、php的session存储到memcached...
1.memcached命令行 telnet 127.0.0.1 11211 set key2 0 30 2 ab STORED get key2 VALUE key2 0 2 ab END 如: s ...
- php mysql 导出到excel,php mysql数据导出到excel文件
这篇文章主要为大家详细介绍了php mysql数据导出到excel文件,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 经测试代码如下: /** * ...
- 【MySQL】mysql数据导出
目录 使用 SELECT ... INTO OUTFILE 语句导出数据 通过mysqldump命令导出数据和备份SQL 将指定主机的数据库拷贝到本地 在项目中,遇到需要把MySQL数据导出到本地时, ...
- mysql 导出中间 数据_MYSQL数据库之间的数据导出与导入
源数据库地址: 172.16.1.7 目标数据库地址: 172.16.1.51 步骤: (1) 进入172.16.1.7服务器,登录mysql数据库 mysqldump -uusername -ppa ...
- mysql授权其他用户导出数据_mysql创建账号、授权、数据导出、导入
1.账号创建及授权 grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant opti ...
- c 控制mysql数据导出_MySql数据库导入导出的三种方式
第一种: 使用mysql自带的Workbench可视化工具进行操作,如图: 选择好以后按 start Export 选择好以后按 start import 第二种: 使用Navicat 右键点击转 ...
最新文章
- 博世发布7款传感器新品 从汽车到消费电子
- echart折线图小知识
- 使用java的HttpClient实现抓取网页数据
- 保存Activity的状态
- Hotspot hotswap, who and who are best freinds
- cobbler工作流分析
- BugkuCTF-Crypto题MathEnglish
- 数组中某个元素相同的去重_JAvaScript:JS数组元素去重的方法
- springboot分页展示功能_SpringBoot实战项目(三)用户列表以及分页功能实现
- 植物大战僵尸修改办法
- 分享一个linux下的steam的rpm安装包的链接
- S3C2440-裸机篇-05 | S3C2440时钟体系详解(FCLK、PCLK、HCLK)
- blk_rq_map_user和blk_rq_map_kern
- 【网络游戏同步技术】游戏中的ping值计算
- 3、线性表的顺序存储结构(顺序表)
- DFS 简单的剪枝和状态压缩 海贼王之伟大航路
- ubuntu 通过文件夹打开终端,通过终端打开文件夹
- Alamofire学习(一)网络基础
- 基于SSM的幼儿园信息管理系统
- Kalman滤波在船舶导航定位系统中的应用