欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-01-03 14:46:19
以前介绍过一个小巧的mysql备份php脚本程序,不过那适合没有mysql shell权限的虚拟主机用户,这里想讲一下更为通用的备份与还原方法,适合有自己主机的朋...
以前介绍过一个小巧的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;将指定的备份文件还原到当前数据库