将数据库文件导入mysql并输出为txt文件
2016-06-24 15:08
489 查看
大致上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文件,执行步骤⑤到步骤⑧即可。
导入数据库:
mysql>use databasename;
mysql>load data infile "E:\\test\\test.txt" into table tablename fields terminated by '|' lines terminated by '\r\n';
如果没有换行则:
mysql>load data infile "E:\\test\\test.txt" into table tablename fields terminated by '|';
导出数据库:
mysql>use databasename;
mysql> select * into outfile "E:\\test\\test.txt" fields terminated by '|'lines terminated by '\r\n' from tablename;
如果不要换行则:
mysql> select * into outfile "E:\\test\\test.txt" fields terminated by ',' from tablename;
①查找数据库文件存放位置,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文件,执行步骤⑤到步骤⑧即可。
导入数据库:
mysql>use databasename;
mysql>load data infile "E:\\test\\test.txt" into table tablename fields terminated by '|' lines terminated by '\r\n';
如果没有换行则:
mysql>load data infile "E:\\test\\test.txt" into table tablename fields terminated by '|';
导出数据库:
mysql>use databasename;
mysql> select * into outfile "E:\\test\\test.txt" fields terminated by '|'lines terminated by '\r\n' from tablename;
如果不要换行则:
mysql> select * into outfile "E:\\test\\test.txt" fields terminated by ',' from tablename;
相关文章推荐
- mysql批量导入sql
- mysql 2003 (113)
- Elasticsearch+mysql 数据同步
- 判断input是否重复,MySQL按照中文a-z来排序
- mysql 重置max_allowed_packet解决办法
- 初识Mysql存储过程
- 使用SQLyog连接MySQL
- mysql sql规范整
- 有关MySQL驱动的相关问题与解决方法
- 基于radius的Mysql计费系统数据迁移
- mysql 查询一个表部分字段,然后插入另一个表中
- Ubuntu 14.04安装服务器安装数据库MySQL
- mysql 主从master-slave同步复制 配置,为读写分离准备
- windows下为mysql添加日志
- MySql开启Root远程访问
- mysql 外网访问
- MySQL命令行导入sql数据库
- xampp下mysql初始密码的修改
- MySQL中的锁(表锁、行锁)
- mysql 用户访问权限问题