安裝之后沒有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大小寫敏感”就是~