來自網絡轉載
還是字符集的問題
使用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
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腳本文件。基本步驟如下:
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數據庫<【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