MYSQL IMPORT 乱码 ON OSX,LINUX

IMPORT csv

LOAD DATA INFILE 'test.csv' INTO TABLE test_table(col_name);

error1 1290

```
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
```

* MAC OSX
1. `cd /Library/LaunchDaemons`
2. `sudo vim com.oracle.oss.mysql.mysqld.plist`
*  在 programArgument 的地方 加上
`<string>--secure-file-priv=/</string>`
> 可以成功汇入了

* UBUNTU
1. 不改设定档,将准备汇入的档案放在预设目录下,查看预设目录:`SHOW VARIABLES LIKE "secure_file_priv"; `
![](https://ithelp.ithome.com.tw/upload/images/20210530/20102155TBXBFrFoZL.png)
2. `sudo cp test.csv /var/lib/mysql-files/`
> 可以成功汇入了

error2 1064

```
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ....
```
错误原因是我有个栏位名称使用到了保留字 `group` 原:`LOAD DATA INFILE 'tan_list.csv' INTO TABLE tan_list(area,group,tan);` 。将保留字加反引号,修正如下:
```
LOAD DATA INFILE 'sarawak_tan_list.csv' INTO TABLE tan_list(area,`group`,tan);
```就可以了

error3

```
ERROR 1261 (01000): Row 1 doesn't contain data for all columns
```
1. `show variables like 'sql_mode';`
![https://ithelp.ithome.com.tw/upload/images/20210707/201021559VxGouidVm.png](https://ithelp.ithome.com.tw/upload/images/20210707/201021559VxGouidVm.png)
2. `set sql_mode='';`

成功汇入後,结果是乱码

  1. 看编码字符集 show variables like 'character%';
  2. ALTER DATABASE testdb CHARACTER SET utf8 COLLATE utf8_general_ci;
  3. ALTER TABLE testtable CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

汇入 sql

  • 汇入data
    mysql -u sarah -p00000 testdb < /Users/sarahcheng/Documents/ren_i.sql
ERROR 1273 (HY000) at line 25: Unknown collation: ‘utf8mb4_0900_ai_ci’
  • 直接修改要汇入的 sql文件
  1. utf8mb4_0900_ai_ci取代为utf8_general_ci(vim指令 :s/utf8mb4_0900_ai_ci/utf8_general_ci
  2. utf8mb4取代为utf8(vim指令:s/utf8mb4/urf8

汇出 data

  1. 在 mysql 外面 mysqldump -u sarah -p00000 tainanRen_i tan_list > /Users/sarahcheng/Documents/ren_i_tans.sql
  2. 在 mysql 里面下指令
SELECT * FROM counters WHERE created_at <'2021-06-02 21:00:00'
INTO OUTFILE '/var/lib/mysql-files/outputFile.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ''
LINES TERMINATED BY 'n'

<<:  瀑布(Waterfall)& 敏捷(Agile)

>>:  在 Kali 使用监听模式的 TP-link Archer T4U

GitHub 轻量级工作流程 - Github flow 与 Pull request

在第一篇文章,我们有简单说明 GitHub flow,下图所示,主要的流程微 建立 Branch &...

D36-铁人赛完赛心得

铁人赛完赛罗~~ 在完赛的这一刻,我发现,我获得的东西,比我写出来的东西还多。 - 除了看自己写出来...

[Day30] 完赛心得

感谢订阅我文章的5位邦友,希望能对你们有一点点小帮助,忏悔一下後来 Vue 先前累积的文章写完之後,...

Unity与Photon的新手相遇旅途 | Day24-Photon房间载入设定

今天内容为房间载入的程序码设定,明天会教大家如何测试。 ...

设定 Microk8s 为固定IP,解决重开机 Hyper-V IP 浮动问题

工作上用到 Microk8s,因架设在 Hyper-V 上,当电脑重新开机後 Hyper-V IP会...