当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 虚拟主机MySQL数据库的备份与还原的方法

MYSQL
mysql "too many connections" 错误 之 mysql解决方法
MySQL: mysql is not running but lock exists 的解决方法
使用mysql中遇到的几个问题
MySQL一个索引最多有多少个列?真实的测试例子
MySQL里Create Index 能否创建主键 Primary Key
MySQL 创建索引(Create Index)的方法和语法结构及例子
MYSQL 优化常用方法
linux mysql 找回密码
mysql 动态执行存储过程语句
MySQL 查找价格最高的图书经销商的几种SQL语句
MySQL 客户端不输入用户名和密码直接连接数据库的2个方法
mysql 查询表中平均分最低的班级
mysql 左连接、右连接和内连接
Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)
Mysql 插入中文及中文查询 (修改+调试)
mysql 数据表中查找重复记录
MySql .frm数据库文件导入的问题
解决hibernate+mysql写入数据库乱码
mySQL UNION运算符的默认规则研究

MYSQL 中的 虚拟主机MySQL数据库的备份与还原的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 73 ::
收藏到网摘: n/a

以前介绍过一个小巧的MYSQL备份PHP脚本程序,不过那适合没有MySQL Shell权限的虚拟主机用户,这里想讲一下更为通用的备份与还原方法,适合有自己主机的朋友。
1、关于备份:我们在使用MySQL中一般都用MyISAM类型的表,这种表是以文件形式保存的文件系统中的;而HEAP类型的表是保存在内存中的,下面的方法是针对MyISAM表的。
1.1、直接拷贝数据库文件。首先不推荐使用这种方法,因为拷贝的数据表是针对特定操作系统(硬件环境)的,移到其他系统中有可能会出问题。其次备份时候要停止MYSQL服务器或者锁定相应的表,否则如果拷贝过程中正好在插入/改写数据库就挂了,不适合需要不间断的服务器。这种方法最大好处是方便快捷,备份时候只要拷贝MYSQL数据目录相应数据库文件夹中的所有文件即可,其中*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引。
1.2、使用MySQLDump工具:利用这个程序可以把数据库导出成SQL语句形式的文本文件,方便移动到不同系统,还原时候会一条条执行文件中的SQL语句即可重建数据库。实际使用时在WINDOWS下CMD里或者LinuxShell输入命令:
mysqldump -u user_name -p database_name --option > path:/xxx.sql;回车
;user_name是用户名
;database_name 是数据库名
;path:/xxx.sql 是保存备份文件的路径与文件名
然后输入密码就会导出数据库到指定PATH下的.sql文件了,要保证用户有足够权限访问相应数据库。--option是备份时可以指定的一些参数,可以参考MYSQL官方文档,常用几个选项:
--opt ——一组常用默认选项,包括--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset
--add-drop-table ——在建立表时候先DROP旧表,适合覆盖数据库
--where——按照条件备份部分记录,例如:--where="id<1000'"
mysqldump工具的参数功能相当多,还需要好好研究下~
2、关于还原
2.1、对于直接拷贝数据库文件的方法,把相应文件覆盖回数据目录即可还原。
2.2、对于DUMP出来的.SQL文件,可以在MYSQL命令行中输入:
use target_database;选择要还原的数据库,最好新建一个空的
\. path:/xxx.sql;将指定的备份文件还原到当前数据库