MySQL数据库备份与恢复命令

为了保证数据的安全,防止数据丢失,我们需要定期的对数据进行备份,一旦数据库出现了问题,我们可以使用备份好的数据进行恢复,可以最大的降低损失

数据备份

  1. 使用mysqldump 命令备份

这是MySQL自带的免费的数据备份工具,直接可以在MySQL安装目录下的bin目录下找到
运行在DOC界面
原理
mysqldump的工作原理很简单

  1. 先查出需要备份的表的结构,并在文本文件中生成一个CREATE 语句
  2. 将表中的一系列数据转化成一条条INSERT 语句
    3,执行这些生成的CREATE语句 和INSERT语句就可以还原数据了
  1. 备份一个数据库

mysqldump -u username -p dbname table1 table2 > BackupName.sql

BackupName.sql 表示要备份到的数据库名称,前面可以加上绝对路径

  1. 备份多个数据库

mysqldump -u username -p --databases dbname1 dbname2 > BackupName.sql
  1. 备份所有数据库

mysqldump -u username -p --all-databases > BackupName.sql
  1. 直接复制整个数据库目录

这种方法是最简单的,但是我们在复制文件的时候就需要停止服务,避免正在插入操作的数据没有备份到,造成数据不一致,但是停掉服务器会影响到正常的运行
这种方法对于lnnoDB不适用 ,但对于MYISAM 储存的表备份和恢复就很方便
(对于存放数据库的文件夹在哪,可以到安装盘的appdata目录寻找)

  1. 使用mysqlhotcopy 工具快速备份

如果数据库备份的时候不能停止MySQL服务
使用方法如下:

mysqlhotcopy [option] dbname1 dbname2 ... buckupDir/

还有一些特殊的选项

选项说明
–help查看帮助信息
–allowold如果备份目录下存在相同文件,将相同的文件名称后面加上_old
–keepold如果备份目录下存在相同文件,将相同的文件更名,不删除
–flshlog本次备份之后,将对数据库的更新记录到日志中
–noindices只备份数据文件,不备份索引文件
–user=用户名用来指定用户名 ,可以用-u代替
–passworld用来指定密码,可以用-p代替(使用时,密码和-p紧挨着)
–port =端口号指定端口号,可以用-P代替(大写)
–socket =socket用来指定socket文件

mysqlhotcopy不是自带的,需要到MySQL官网下载

数据恢复

  1. 使用mysql命令还原

mysql -uroot -p [dbname] <backup.sql
  1. 直接复制到数据库目录

注意不能在lnnoDB下使用该方法

数据库迁移

  1. MySQL数据库之间的迁移

  • 复制数据库目录
  • 使用命令备份和还原
  1. 不同数据库之间的迁移

根据不同的数据库,修改mysqldump导出的SQL文件中的create语句

表的导入导出

  1. 用SELECT … INTO OUTFILE 导出文本文件

语法

SELECT [列名] FROM table [WHERE 语句]
INTO OUTFILE '目标文件'[option];

其中 option 解释

参数说明
FIELDS TERMINATED BY ‘字符串’设置字符串为字段的分隔符,默认是’\t’
FIELDS ENCLOSED BY ‘字符’设置字符来括上字段的值,默认情况下不使用任何字符

指定的路径只能是MySQL的secure_file_priv参数所指定的位置
查看方法

SELECT @@secure_file_priv;
  1. 使用 mysqldump 命令导出文本文件

mysqldump -u root -pPassword -T"目标目录" dbname table [option]
  1. 使用mysql 命令导出文本文件

mysql -u root -pPassword -e"select 语句" dbname >D:/name.txt;

参考书籍: MySQL数据库管理与开发(慕课版)
如有错误,欢迎指正

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不懂电脑的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值