MySQL导出、备份、导入数据

一、MySQL导出数据

1、在MySQL中,可以使用SELECT…INTO OUTFILE语句将查询结果数据导出到文本文件

	# 查看默认路径
	show variables like '%secure_file_priv%';

在这里插入图片描述

secure_file_priv取值说明:

  • null–表示不允许导入导出
  • 空–表示没有任何限制
  • 指定路径–表示导入导出只能在指定路径下完成
	SELECT * FROM user_range INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\user_range.txt'
		FIELDS TERMINATED BY ',' 
		ENCLOSED BY '"'
		LINES TERMINATED BY '\r\n';

2、mysql命令重定向查询结果

  通常,我们使用mysql命令连接数据库,mysql命令有一个-e选项,可以执行指定的SQL语句,再结合DOS的重定向操作符”>”可以将查询结果导出到文件。

	mysql -h localhost -u root -p -D mydb -e "select * from user_range" > E:\user_range.txt

3、使用mysqldump导出数据

	# 导出dbname 数据库(含数据)
	mysqldump -h localhost -u root -p dbname > d:/dbname.sql
	# 导出dbname 数据库(不含数据)
	mysqldump -h localhost -u root -p dbname --no-data > d:/dbname.sql
	# 导出dbname.user_range 数据表
	mysqldump -h localhost -u root -p dbname user_range > d:/user_range.sql
	# 导出dbname数据库,忽略contacts表
	mysqldump -h localhost -u root -p dbname --ignore-table dbname.contacts > d:/user_range.sql

二、MySQL备份数据

1、Windows

  schtasks.exe用于安排命令和程序在指定时间内运行或定期运行,它可以从计划表中添加和删除任务、按需要启动和停止任务、显示和更改计划任务。

	#备份数据库的脚本mysql_mydb_backup.bat
	mysqldump -h localhost -uroot -p123456 mydb > d:\backup\mydb.sql
	#创建计划任务(每隔指定时间备份一次MySQL)
	schtasks /create /sc minute /mo 1 /tn 定期备份MySQL /tr d:\backup\mysql_mydb_backup.bat
	#删除计划任务
	schtasks /delete /tn 定期备份MySQL

2、Linux

	   #!/bin/bash
	   #备份目录
	   backup_dir=/home/liufeng/backup
	   #备份文件名
	   backup_filename=“mydb-`date +%Y%m%d`.sql#进入备份目录
	   cd $backup_dir
	   #备份数据库
	   mysqldump -h localhost -uroot -p123456 mydb > ${backup_dir}/${backup_filename} #删除7天以前的备份
	   find ${backup_dir} -mtime +7 -name "*.sql" -exec rm -rf {} \;

b、crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于周期性执行任务。

	#每天凌晨01:30执行shell脚本(备份数据库)
	30 1 * * * bash /home/liufeng/backup/mysql_mydb_backup.sh

三、MySQL导入数据

1、load data

  在MySQL中,可以使用LOAD DATA语句将文本文件数据导入到对应的数据库表中,可以将LOAD DATA语句看成是SELECT…INTO OUTFILE的反操作。

	#示例
	LOAD DATA INFILE 'D:\\employee.txt' INTO TABLE employee character set utf8
	FIELDS TERMINATED BY ',' 
	ENCLOSED BY '"'
	LINES TERMINATED BY '\r\n';

2、source

  在MySQL中,可以使用source命令导入较大的SQL文件。source命令可以导入使用mysqldump备 份的sql文件。

	# source命令的使用示例
	source d:/mydb.sql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值