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
    评论
好的,关于 MySQL 和 Oracle 数据库的导入导出备份操作,我可以给您提供一些基本的信息。 1. MySQL 数据库的导入导出备份操作 - 导出操作:使用 mysqldump 命令可以将 MySQL 数据库中的数据导出到一个 SQL 文件中。命令格式如下: ``` mysqldump -u username -p dbname > backup.sql ``` 其中,username 是数据库的用户名,dbname 是数据库的名称,backup.sql 是导出的 SQL 文件名。执行该命令后,系统会提示输入数据库的密码,输入正确密码后就可以将数据导出到 backup.sql 文件中。 - 导入操作:使用 mysql 命令可以将 SQL 文件中的数据导入MySQL 数据库中。命令格式如下: ``` mysql -u username -p dbname < backup.sql ``` 其中,username 是数据库的用户名,dbname 是数据库的名称,backup.sql 是导入的 SQL 文件名。执行该命令后,系统会提示输入数据库的密码,输入正确密码后就可以将 SQL 文件中的数据导入数据库中。 - 备份操作:使用 MySQL Workbench 工具可以对 MySQL 数据库进行备份操作。在该工具中,选择需要备份数据库,然后右键点击该数据库,选择 “管理” -> “备份” -> “完整备份”,设置备份文件的保存路径和名称,就可以对数据库进行备份操作。 2. Oracle 数据库的导入导出备份操作 - 导出操作:使用 expdp 命令可以将 Oracle 数据库中的数据导出到一个 dump 文件中。命令格式如下: ``` expdp username/password@db_name directory=directory_name dumpfile=dump_file.dmp ``` 其中,username 是数据库的用户名,password 是数据库的密码,db_name 是数据库的名称,directory_name 是导出文件的保存路径,dump_file.dmp 是导出的 dump 文件名。执行该命令后,系统会提示输入数据库的密码,输入正确密码后就可以将数据导出到 dump_file.dmp 文件中。 - 导入操作:使用 impdp 命令可以将 dump 文件中的数据导入到 Oracle 数据库中。命令格式如下: ``` impdp username/password@db_name directory=directory_name dumpfile=dump_file.dmp ``` 其中,username 是数据库的用户名,password 是数据库的密码,db_name 是数据库的名称,directory_name 是导出文件的保存路径,dump_file.dmp 是导入的 dump 文件名。执行该命令后,系统会提示输入数据库的密码,输入正确密码后就可以将 dump 文件中的数据导入数据库中。 - 备份操作:使用 Oracle SQL Developer 工具可以对 Oracle 数据库进行备份操作。在该工具中,选择需要备份数据库,然后右键点击该数据库,选择 “导出” -> “数据导出”,设置备份文件的保存路径和名称,就可以对数据库进行备份操作。 希望以上信息能够对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值