Unknown command '\b'. 關於Mysql導入外部數據庫腳本報錯的解決

來自網絡轉載php

仍是字符集的問題html

 

使用source導入外部sql文件:mysql

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

ERROR:
Unknown command '\b'.
ERROR:
Failed to open file 'F:hp\bookorama.sql', error: 2linux

 

竟然報錯, 仔細分析錯誤緣由,發現文件路徑已經出現問題:F:hp ,而本來文件的路徑是F:\php,   因而想到反斜槓被當成轉義字符處理了。。因此再次嘗試使用雙斜槓來導入外部文件:sql

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)數據庫

 

查看結果:windows

mysql> show tables;
+-----------------+
| Tables_in_books |
+-----------------+
| book_reviews    |
| books           |
| customers       |
| order_items     |
| orders          |
+-----------------+
5 rows in set (0.00 sec)服務器

 

雖然報錯,但執行任然成功了的。。網絡

 

因而第一時間向度娘求助:ui

 

問題的解決方法以下: 

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

 

mysql導入數據出現--unknown command '\'

 

今天在還原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腳本文件。基本步驟以下:

一、建立包含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;

二、執行sql腳本文件
方法一 
使用cmd命令執行(windows下,unix或linux在的其控制檯下)
【Mysql的bin目錄】\mysql –u用戶名 –p密碼 –D數據庫<【sql腳本文件路徑全名】,示例:
D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql
注意:
A、若是在sql腳本文件中使用了use 數據庫,則-D數據庫選項能夠忽略
B、若是【Mysql的bin目錄】中包含空格,則須要使用「」包含,如:「C:\Program Files\mysql\bin\mysql」 –u用戶名 –p密碼 –D數據庫<【sql腳本文件路徑全名】

方法二 進入mysql的控制檯後,使用source命令執行Mysql>source 【sql腳本文件的路徑全名】 或 Mysql>\. 【sql腳本文件的路徑全名】,示例:source d:\test\ss.sql 或者 \. d:\test\ss.sql

相關文章
相關標籤/搜索