問題:在cmd中輸入net stop mysql反饋“服務名無效” win+R打開運行視窗,輸入 查看其中mysql的服務名,比如我的是叫做MySQL80 讓我們繼續回到最開始的部分,在cmd視窗輸入 尷尬,又報錯了! 百度了才知道原來是因為我們的cmd視窗並不是使用管理員身份打開的,所以才會被系統 ...
問題:在cmd中輸入net stop mysql反饋“服務名無效”
win+R打開運行視窗,輸入
services.msc
查看其中mysql的服務名,比如我的是叫做MySQL80
讓我們繼續回到最開始的部分,在cmd視窗輸入
net start MySQL80
尷尬,又報錯了!
百度了才知道原來是因為我們的cmd視窗並不是使用管理員身份打開的,所以才會被系統拒絕訪問!
在以管理員身份啟動後,輸入上面的代碼,Mysql啟動成功!
問題:mysql使用into outfile會報錯“ (1290, 'The MySQL server is running with the --secure-file-priv option so it cannot execute this statement')”
原因是因為mysql 5.7新增了一個secure-file-priv參數,這個參數是用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個指定目錄的。
-
secure_file_priv的值為NULL ,表示限制mysql 不允許導入|導出
-
當secure_file_priv的值為具體目錄 ,表示限制mysql 的導入|導出只能發生在設定目錄下,目錄必須存在,mysql不會創建目錄
-
當secure_file_priv的值沒有具體值時,表示不對mysql 的導入|導出做限制
那我們怎麼在mysql中查看這個參數呢?在cmd使用以下命令即可!
show variables like '%secure%'
解決方法:
在mysql文件的my.ini配置文件裡面修改,新增一行,輸入
secure-file-priv =
保存,重啟mysql,註意,不是在cmd當中退出mysql,而是直接關閉mysql服務,在重啟,具體的可以百度。
哈哈,終於修改成功了,Oh,yeah!
官方文檔:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv
================================ 這裡是愉快的分割線 ================================
順便記錄下,mysql導出數據的各項參數意思:
SELECT '統計日期', '支付金額', '成功退款金額' FROM alfonso INTO OUTFILE 'C:/Users/user/Desktop/XX.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n';
# FIELDS TERMINATED BY ',' 以,作為分隔符
# OPTIONALLY ENCLOSED BY '"' 欄位用"號括起
# ESCAPED BY '"' 用"當做轉義字元
# LINES TERMINATED BY '\r\n' 以'\r\n'為行間分隔符
問題:輸出數據中報錯‘OS errno 13 - Permission denied’
這個是因為mysql沒有讀/寫文件的許可權,找到的解決辦法是打開電腦服務,找到mysql服務,點擊屬性,選擇登入,在這裡修改下登錄身份,選擇本地身份保存即可,這裡需要重新啟動mysql服務!
問題解決!~~~
問題:導出的數據是亂碼
這個是需要在my.ini文件中修改下參數即可完美解決!
問題:導出的數據沒有列表頭
這就他媽尷尬了,導出來的數據居然不帶頭,這搞毛線啊!還好天無絕人之路之路,在網路上找到了思路,利用union方法
原來不帶頭的公式:
select 統計日期,支付金額,成功退款金額 from 表名
現在帶頭的公式:
select * from (SELECT'統計日期','支付金額','成功退款金額' UNION SELECT 統計日期,支付金額,成功退款金額 FROM 表名)b;
問題成功解決!