mysql数据备份与还原

mysql数据备份与还原



数据备份
mysqldump备份

mysqldump备份的基本语法格式如下:

mysqldump -u user -h host -p password dbname[tbname,[tbname...]] > filename.sql
  • 使用mysqldump备份单个数据库中的所有表
 mysqldump -u root -p booksDB > /Users/frankstar/Desktop/booksDB_20160510.sql

输入密码后,桌面即可看见备份的数据库文件,文件开头是mysqldump工具的版本号,然后是备份账户的名称与主机信息,以及数据库的名称,服务器的版本号等。下面是SET语句,主要是涉及恢复时数据库的系统变量值,最后几行使用SET语句恢复服务器系统变量原来的值。

  • 使用mysqldump备份数据库中的某个表
mysqldump -u root -p booksDB books > /Users/frankstar/Desktop/books_20160510.sql
  • 使用mysqldump备份多个数据库
mysqldump -u root -p --databases booksDB JavaStudy > /Users/frankstar/Desktop/bookDB_JavaStudy_20160510.sql
  • 使用–all-databases备份全部数据库
mysqldump -u root -p --all-databases > /Users/frankstar/Desktop/allDatabases_20160510.sql

提示:如果数据库中表都是MyISAM表,可考虑使用mysqlhotcopy,提高效率。

直接复制这个数据库目录

可以直接复制数据库的存储目录和文件进行备份。这个方法对Innodb存储引擎的表不适合,同时还要求数据库版本要一致,否则可能出现不兼容。首先备份前需要进行LOCK TABLES操作,然后执行FLUSH TABLES,复制数据库文件时应该允许用户查询,需要FLUSH TABLES语句来确保开始备份前将所有的激活索引页写入到硬盘。最好的办法是停止服务进行复制。

mysqlhotcopy工具快速备份

mysqlhotcopy必须要可以访问备份的数据表文件,具有表的SELECT、RELOAD、LOCK TABLES等权限,同时它只适用于MyISAM和ARCHIVE存储引擎的表。

语法格式如下:

mysqlhotcopy -u root -p JavaStudy /Users/frankstar/Desktop/JavaStudy

它只是将表所在目录复制到另一个目录下,类似直接的复制cp/scp来备份数据库。

数据还原
mysql命令还原

语法格式如下:

mysql -u root -p booksDB < /Users/frankstar/Desktop/booksDB_20160510.sql

提示:首先数据库中要有这个还原的数据库,即使是空的。

使用source 命令导入备份sql文件

首先登陆到服务器上,使用如下语法:

#source filename;
mysql> use booksDB ;
mysql> source /Users/frankstar/Desktop/booksDB_20160510.sql
使用直接复制到数据目录的方法

将之前通过复制备份数据库的数据目录与文件复制到mysql的数据目录下实现还原,这种方法要求数据库的主版本号需要相同,同时要求是MyISAM表,同时需要停止数据库服务以及更改数据文件的属主与属组为mysql

mysqlhotcopy快速恢复

与直接复制到数据目录的方法类似,也需要停止服务,更改数据文件的属主和属组,如下:

chown -R mysql:mysql /var/lib/mysql/db_name

复制语法:

cp -R /Users/frankstar/Desktop/JavaStudy /usr/local/var/mysql/JavaStudy
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值