當用命令導入csv文件時提示錯誤[Err] 1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement


 

 

 

 

安裝之后沒有my.ini配置文件怎么辦,因為自己安裝的是zip壓縮版的mysql,所以再5.7之后就沒有my.ini配置文件,所以有時候需要去自己創建一個叫my.ini的配置文件,但是特別

要注意:如果你之前的數據庫中有非常重要的表,那一定要先備份好,之后再去刪除data和Mysql服務,具體的步驟如下:

 

系列目錄

一、安裝MySql

二、安裝並破解Navicat

三、沒有my.in配置文件怎么辦

四、設置MySql的大小寫敏感

五、重置MySql登陸密碼


 

之前說過,Windows操作系統中,我們安裝Mysql有兩個選擇:一是下載MSI點擊運行,利用windows系統安裝程序的方法按部就班的來安裝;二是下載ZIP,解壓出來就能立即使用。

在使用ZIP安裝時,安裝好之后默認是沒有my.ini配置文件的:

當我們想修改數據庫的配置信息如 wait_timeout、interactive_timeout、max_connections 或大小寫敏感時,卻找不到my.ini 配置文件。

雖然這時,還可以通過命令行來修改配置信息,但重啟mysql后修改會失效,配置會回歸默認值,所以這種方式治標不治本。

具體的這種方式:還未解決???

 

 

這里提供了另一種方法,解決的基本思路是:先刪除Mysql服務,然后自己新建一個my.ini文件,最后使用命令行重新初始化mysql服務,同時指定新建的my.ini作為服務默認的配置文件。

以下是詳細步驟:

  1. 刪除MySql服務#

打開cmd(記得”使用管理員身份“打開),如果沒有配置環境變量,請cd(切換目錄)到mysql程序下的bin文件夾下(詳細步驟參見第一章~):

運行命令:

D:\MySql\bin>sc delete MySql

"MySql"為服務名稱,你的MysSql服務不一定是這個名稱,可以打開電腦的服務窗口查看。

刪除完成之后,最好去電腦的服務窗口看下,如果找不到MySql服務,說明已經已經刪除成功。

如果還能看到MySql服務,可以手動右擊選擇”停止“,服務停止之后就會自動消失了。

  2. 新建my.ini配置文件#

在mysql程序的根目錄下,新建一個my.ini空白文件,用記事本打開,將以下內容復制進去,保存:

復制代碼
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:\MySQL
datadir = D:\MySQL\data
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
復制代碼

其中basedir 和 datadir 根據實際MySql安裝的位置進行修改。

  3. 重新生成data文件#

刪除之前生成的data文件,如果有重要的數據表,請先備份好。

回到cmd,重新生成data文件。運行:

D:\MySql\bin>mysqld --initialize-insecure --user=mysql

該命令需要執行大概一分鍾左右,完成后會在MySql程序文件夾下重新生成名稱為data的文件夾:

 

 4. 重新安裝mysql服務,同時綁定my.ini配置文件#

安裝MySql服務,同時設置綁定my.ini配置文件。命令:

D:\MySql\bin>mysqld --install "MySql80" --defaults-file="d:/mysql/my.ini"

“MySql80”是服務名稱,80表示8.0版本,當然,也可以自己取別的名字。

”..\my.ini“是新建的配置文件的位置,也可以寫成絕對路徑”D:\MySql\my.ini“。

如果提示安裝成功,這時打開電腦的”服務“窗口,可以找到新添加的MySql80服務:

 

 5. 啟動服務#

這里有兩種啟動服務的方式:1)服務窗口啟動;2)cmd啟動

 5.1 服務窗口啟動#

直接右擊服務項,選擇啟動:

 

 5.2 cmd命令啟動#

命令:

D:\MySql\bin>net start mysql80

等待20秒左右,如果啟動成功,是這樣的:

 

如果不成功:

 

這時可能是my.ini配置文件中的某些配置有問題。你可以修改ini文件內容,然后從頭按步驟再試一遍。

 6. 重新設置密碼#

刪除了data文件和服務之后,之前的密碼就失效了,所以需要重新設置密碼。

 6.1 登陸mysql#

命令:

D:\MySql\bin>mysql -u root -p

這時密碼為空,不需要填寫,直接回車:

如果這里沒有登陸成功,請移步下一章”重置MySql密碼“~

 6.2 修改root用戶密碼#

(敲黑板)這里有個需要注意的地方,在8.0之后的版本,修改root用戶密碼的命令是:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';

 之前的版本是:

update mysql.user set authentication_string=password("你的密碼") where user="root";

 我這里安裝的是8.0.11,所以是第一個:

 6.3 退出MySQL#

命令:

mysql> exit

  6.4 使用修改后的密碼重新登陸#

這里的命令和之前是一樣的,就不寫了,密碼記得要填剛才設置的:

 

 

現在已經成功綁定了my.ini配置文件了,如果需要自定義配置,可以打開文件進行相應的配置設置,修改后重啟服務即可。

如果修改后,重啟服務報錯,如下圖:

 

有一種可能:你修改的配置與服務初始化時的配置有沖突,這時只能從頭開始,在初始化的時候綁定my.ini文件 。

下一章要講的的“設置MySql大小寫敏感”就是~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM