当前位置: 首页 > 图文教程 > 数据库 > MYSQL > mysql从执行.sql文件时处理\n换行的问题

MYSQL
资深网管教你一步步安装MYSQL数据库
在MySql中添加远程超级用户
如何实现MySQL表数据随机读取
MySQL多表操作和备份处理
教你编写高性能的mysql语法
mysql的字符串函数
MySQL 4.1 字符集支持的原理
数据库连接过多的错误,可能的原因分析及解决办法
mysql中的数据编码
MySQL 4.1x 中文乱码问题
从SQL server数据库导入Mysql数据库的体验
PEAR MDB 数据库抽象层 : 一次编写—随处运行
安装并使用phpMyAdmin管理MySQL数据库
解决phpMyAdmin2.6以上版本数据乱码问题
用ISAPI_Rewrite实现反向代理(ReverseProxy)
Mysql 数据库的导入与导出
如何使用MYSQL数据库进行备份数据恢复
MySQL数据库的多表操作和备份处理
一个简便的MySql数据库备份的方法
MySQL安全的二十三条军规

MYSQL 中的 mysql从执行.sql文件时处理\n换行的问题


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

后来注意到,在上面我们恢复数据的时候是在没有连接数据的状态下执行的。 在备份数据库的时候,数据表中可能存在这样的值array('a'='b',
'c'='d')
这种格式的值。而在数据导出的时候 会将换行换成\n(windows下是这样,unix下可能是另一种符号)。而当在回复数据的时候,如果用mysql -h localhost -u root -proot < path/*.sql进行恢复的时候,这样数据库会报告“不能识别"\n"字符的错误提示,从而使操作终止。 想了半天,难道是在数据导出的时候有个选项可以禁止将换行转换成 “\n",看了mysqldump所有的可选项,没有找到解决的答案。 那问题就是处在导入数据的时候。
后来注意到,在上面我们恢复数据的时候是在没有连接数据的状态下执行的。那么,我们先连接数据库,即先执行mysql -h localhost -u root -proot 进入到数据库,然后在数据库连接成功的状态下 再执行mysql> source path/*.sql;语句,ok,数据导入成功。