unknown type 'mysql'; skipping_Unknown command '\b'. 关于Mysql导入外部数据库脚本报错的解决...

来自网络转载

还是字符集的问题

使用source导入外部sql文件:

mysql> source F:\php\bookorama.sql;

--------------

source F:

--------------

ERROR:

Unknown command '\b'.

ERROR:

Failed to open file 'F:hp\bookorama.sql', error: 2

居然报错, 仔细分析错误原因,发现文件路径已经出现问题:F:hp ,而原本文件的路径是F:\php,   于是想到反斜杠被当成转义字符处理了。。所以再次尝试使用双斜杠来导入外部文件:

mysql> source F:\\php\\bookorama.sql;

ERROR:

Unknown command '\\'.

ERROR:

Unknown command '\\'.

Query OK, 0 rows affected (0.09 sec)

Query OK, 0 rows affected (0.09 sec)

Query OK, 0 rows affected (0.09 sec)

Query OK, 0 rows affected (0.08 sec)

查看结果:

mysql> show tables;

+-----------------+

| Tables_in_books |

+-----------------+

| book_reviews    |

| books           |

| customers       |

| order_items     |

| orders          |

+-----------------+

5 rows in set (0.00 sec)

虽然报错,但执行任然成功了的。。

于是第一时间向度娘求助:

问题的解决方法如下:

引用地址:http://blog.chinaunix.net/uid-10449864-id-3369246.html

今天在还原Discuz备份数据库的时候,遇到一个问题。

原来的服务器环境使用的windows,然后使用phpmyadmin备份出来的数据库怎么也不能在linux下的数据库中导入。

导入的时候出现下面的错误:

unknown command '\'

后来发现phpmyadmin连接windows上的数据库,导出时使用的是utf8编码,而我linux本机连接mysql(my.cnf)用的是gbk编码。这样一来,备份文件恢复的时候可能就出现了格式错误。

后来在导入的时候指定字符集 --default-character-set=utf8,再次导入备份文件,一切顺利。

命令如下:

mysql -uroot -p --default-character-set=utf8  test_server < test_service.sql

导入外部sql文件的方式:

引用地址:http://blog.csdn.net/vebasan/article/details/7619911

sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件。基本步骤如下:

1、创建包含sql命令的sql脚本文件文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下:

--创建表,使用“--”进行注释

create table 表名称

(

Guid Varchar(38) not null primary key,

Title Varchar(255),

) TYPE=InnoDB;

--在表A中增加字段Status

alter table A add Status TinyInt default '0';

--在表A上创建索引

create index XX_TaskId_1 on A(Id_);

--在A表中添加一条记录

Insert into A (Id,ParentId, Name) values(1,0,'名称');

--添加、修改、删除数据后,有可能需要提交事务

Commit;

2、执行sql脚本文件

方法一使用cmd命令执行(windows下,unix或linux在的其控制台下)

【Mysql的bin目录】\mysql –u用户名 –p密码 –D数据库

D:\mysql\bin\mysql –uroot –p123456 -Dtest

注意:

A、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略

B、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:“C:\Program Files\mysql\bin\mysql” –u用户名 –p密码 –D数据库

方法二进入mysql的控制台后,使用source命令执行

Mysql>source 【sql脚本文件的路径全名】 或 Mysql>\. 【sql脚本文件的路径全名】,示例:

source d:\test\ss.sql 或者 \. d:\test\ss.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值