MySQL的备份与还原


1、创建一个新表并插入原表所有数据

create table Person-bak as select from Person

2、创建一个新表,只插入指定字段

create table Person-bak as select id,personName from Person

需要注意,原表的主外键设置并不会复制到新表中

#eg:

create table person3 as select * from person;
create table person3 as select  id,name from person;		
select * from person3

3、关闭服务冷备份还原 (复制文件夹)

停止服务
拷贝Data文件夹到备份目录
开启服务
删除数据测试 delete from person where id>1;
关闭服务
拷贝‘备份的data文件夹’覆盖需要还原的Data文件夹
启动服务
select * from person

4、通过 mysqldump 命令备份还原新数据库

4.1、单一数据库

mysqldump基本语法:

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

测试:

root:
        mysqldump -u root -p test test > /usr/xmp/BackupTest.sql ;
        mysqldump -u root -p test xmp > /usr/xmp/BackupXmp.sql ;
user:
        mysqldump -u newuser -p test test > /usr/xmp/BackupTest-User.sql ;
        mysqldump -u newuser -p test xmp > /usr/xmp/BackupXmp-User.sql ;

其中:
dbname参数表示数据库的名称;

  • table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
  • BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;

使用root用户备份test数据库下的person表

mysqldump -u root -p root test person > D:\backup.sql

4.2、多个数据库

mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql

加上了–databases选项,然后后面跟多个数据库

mysqldump -u root -p --databases test test2 > D:\backup.sql

4.3 还原

	use test
	source /usr/xmp/BackupTest.sql ;

5、mysqlhotcopy工具快速备份

  mysqlhotcopy 是 MySQL 官方提供的备份工具之一,它可以使用非常快速的方式对 MyISAM 存储引擎的数据表进行备份。

mysqlhotcopy 的使用非常简单,只需要在命令行中输入:

mysqlhotcopy -u 用户名 -p 密码 数据库名 备份目录

其中,

  • 用户名 和 密码 是访问 MySQL 数据库的用户名和密码
  • 数据库名 是要备份的数据库名称
  • 备份目录 是备份数据的目录。

  mysqlhotcopy 工具备份的是 MyISAM 存储引擎的数据表,它的备份速度非常快,备份过程中不会锁定表,但需要注意的是,mysqlhotcopy 工具不能备份 InnoDB 存储引擎的数据表,因为 InnoDB 存储引擎的数据文件是共享的,不能直接复制。

如果要恢复使用 mysqlhotcopy 工具备份的数据表
只需要将备份目录中的数据表复制回 MySQL 数据库的数据目录即可

需要注意的是,mysqlhotcopy 工具不支持备份整个 MySQL 数据库
如果要备份整个数据库,可以使用 mysqldump 工具
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值