目的:將一個mysql服務器中的某表部分數據導入到另一台服務器,該表含有二進制字段
操作過程:
下面的“本地“指的是目標服務器,“遠程”指的是源服務器。
1 本地命令行
登錄遠程服務器
2
導出數據
mysql> select id, hex(data) into outfile 'd:/mydata.dat' from mydb.mytable where id=123;
執行后
在服務端的相關目錄生成導出文件
3 將數據文件
拷貝到本地服務器
4 本地命令
登錄本地數據庫
5
創建相同結構的數據表
6
導入數據
mysql> load data infile 'D:/mydata.dat' into table test.mytable;
提示錯誤信息
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
因為mysql設置
secure-file-priv參數,禁止或限制了導出導入目錄
mysql> show variables like '%secure%';
+--------------------------+------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------+
| require_secure_transport | OFF |
| secure_auth | ON |
| secure_file_priv | C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\ |
+--------------------------+------------------------------------------------+
看到限制在該目錄導入導出,將數據文件拷貝至該目錄
7
再次導入
mysql> load data infile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/mydata.dat' into table test.mytable;
Query OK, 20 rows affected (0.59 sec)
Records: 20 Deleted: 0 Skipped: 0 Warnings: 0