linux下拷贝MySql数据库文件备份数据库
linux下拷贝MySql数据库文件备份数据库
大致上MySql数据库备份可以采用两种方式:一种就是直接导出sql语句或者易于导入的其他格式的sql存储文件,使用sql语句或者一些可视化客户端导出,这种方法非常简单,无需赘述;另一种方法就是拷贝出数据库文件,再将数据库文件转换成sql文件,这篇文章就介绍一下这种方法。
①查找数据库文件存放位置,MySql文件的后缀有三种形式\*.MYD、\*.MYI、\*.frm;
find / -name *.MYD
②进入数据库存储文件目录;
cd /opt/lanmp/mysql-5.1.63/win/data/
③使用copy命令把所有数据拷出去;
copy mysql /home
④此时只需将这些数据库文件转换成sql文件,这也是这篇文章里我要讲的重点,如果需要的时候再将sql文件用命令导入即可;
⑤新建一个数据库命名为mysqlbak,将刚才拷出来的文件夹拷入新数据库的data文件夹;
find / -name mysqlbak
cd /home/mysql
copy * /www/wdlinux/mysql-5.1.63/var/mysqlbak/
⑥此时就已经可以看到新数据库mysqlbak里的数据了,跟原数据库mysql里的数据是一样的;
⑦使用命令导出数据库文件即可。
mysqldump -uroot -p mysqlbak > /home/mysql.sql
⑧这home文件夹下的文件mysql.sql文件就是易导入的数据库文件。需要注意的是所有的操作都必须在操作系统下用命令完成,而不提倡使用工具。因为在实际操作过程中,我们经常会遇到数据库里的数据库文件版本和数据库版本不一致,或者新旧数据库版本不一致的问题,再或者数据服务器版本与客户端工具不兼容等意想不到的问题,如果是这种情况,使用工具导出一般会报“1577:Cannot proceed because system tables used by Event Scheduler were found damaged at server start”的错误。说到这里,其实本文也提供了一种打开mysql数据库文件的方法,如果现在只有一堆\*.MYD、\*.MYI、\*.frm文件,执行步骤⑤到步骤⑧即可。
还没有评论,来说两句吧...