Windows操作系統中,當我們在安裝Mysql數據庫服務器的時候,通常有兩個選擇:一是去官方網站下載Mysql -installer.exe,利用windows系統安裝程序的方法按部就班的來安裝;二是去軟件社區下載mysql綠色免安裝版,解壓出來就能立即使用。
以上兩種方式都可以順利在電腦上裝好Mysql服務器,然而有的用戶使用免安裝版時,沒有通過正確的配置來啟動mysql服務器,會出現的問題是 當我們想修改數據庫的配置信息如 wait_timeout、interactive_timeout、max_connections 時,卻找不到my.ini 配置文件。mysql根目錄下只有my_default.ini 文件,打開這個my_default.ini文件,似乎也可以配置信息。
當我們在這份default.ini文件里修改完配置,重啟數據庫后,卻哭着發現新修改的配置沒有起作用。雖然這時,還可以通過命令行來修改配置信息,但重啟mysql后修改會實效,配置會回歸默認值,命令行修改的方式治標不治本。不能作為解決辦法,怎么辦呢?
這里為大家提供了另一種方法,或許可以解決上面描述的問題,也就是你可能當下正遇到的麻煩。解決的基本思路是,首先刪除Mysql服務,接着新建一份my.ini文件,最后使用命令行重新初始化mysql服務,同時指定新建的my.ini作為服務默認的配置文件。以下是詳細步驟:
1.刪除Mysql服務,打開命令行,輸入下面的指令
sc delete MySql
"MySql"為服務名稱,你的MysSql服務不一定是這個名稱,可以打開services.msc查看
2.在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_unicode_ci 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\mysql5.7 datadir = D:\MySQL\mysql5.7\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.以管理員身份啟動命令行,將工作路勁切換到 Mysql目錄下的bin文件夾,如我的是 C:\Program Files\MySQL\MySQL Server 5.7\bin。接着執行下面的命令
mysqld --initialize
此命令的目的是初始化data目錄
4. 接着再執行下面的命令
mysqld --install MySQL --defaults-file="C:\MySQL\MySQL Server 5.7\my.ini“
此命令執行完后,會重新初始化Mysql服務,同時指定了配置文件為C:\MySQL\MySQL Server 5.7\my.ini 文件,也就是我們新建的文件。之后在這份my.ini文件里修改myql的屬性,重啟服務就可以了。
