- 下載
- 安裝配置
- 問題及解決方案
一、下載

找到你要的版本點擊“looking for the latest GA version?”切換,我這個安裝的是5.7.28,然后往下拉:

找到免安裝的壓縮包:

然后就進到了下載頁面:

其實,並不要那么麻煩,直接使用這個下載的cdn連接就可以了:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-winx64.zip
二、安裝配置
2.1 解壓文件到你安裝數據的路勁下,例如我直接解壓到了f盤下:
F:\mysql-5.7.28-winx64
2.2 解壓出來的文件缺少my.ini配置文件和data文件夾:

my.ini配置,根據注釋說明和你自己的配置需要修改(配置參數只求安裝,未考慮任何性能問題):
1 # MySQL Server Instance Configuration File 2 #---------------------------------------------------------------------------- 3 # Generated by the MySQL Server Instance Configuration Wizard 4 #通過使用MySQL服務配置向導生成 5 # Installation Instructions 6 7 #客戶端參數配置 8 # CLIENT SECTION 9 #---------------------------------------------------------------------------- 10 [client] 11 #客戶端通過3306端口連接MySQL數據庫服務器,如果需要修改端口號,可以直接修改。 12 #Port=3306 13 #default-character-set=utf8mb4 14 loose_default_character_set=utf8mb4 15 [mysql] 16 #客戶端的默認字符集。 17 default-character-set=utf8mb4 18 19 #服務端參數配置 20 # SERVER SECTION 21 #----------------------------------------------------------------------------- 22 [mysqld] 23 #服務器端口號。 24 port=3306 25 #MySQL數據庫服務器的安裝目錄 26 basedir="F:\mysql-5.7.28-winx64" 27 #MySQL數據庫文件目錄 28 datadir="F:\mysql-5.7.28-winx64\data" 29 #忽略軟件客戶端的字符集,使用服務器的字符集 30 character-set-client-handshake=FALSE 31 #MySQL軟件端的字符集 32 character-set-server=utf8mb4 33 #MySQL軟件的存儲引擎 34 default-storage-engine=INNODB 35 # Set the SQL mode to strict 36 #MySQL軟件的SQL模式 37 sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 38 #MySQL軟件的最大連接數 39 max_connections=100 40 #MySQL軟件的查詢緩存 41 query_cache_size=0 42 #MySQL軟件中可以打開的總表數 43 table_open_cache=256 44 #MySQL軟件內存中可以存儲臨時表的最大值。 45 tmp_table_size=9M 46 #MySQL軟件內存中可以保留的客戶端連接線程數 47 thread_cache_size=8 48 #MySQL軟件中重建索引時允許的最大臨時文件的大小 49 myisam_max_sort_file_size=5G 50 #MySQL軟件重建索引時允許的最大緩存大小 51 myisam_sort_buffer_size=17M 52 #MySQL最大關鍵字緩存大小. 53 key_buffer_size=10M 54 #MySQL軟件全掃描MyISAM表時的緩存大小 55 read_buffer_size=64k 56 #MySQL軟件可以插入排序好數據庫的緩存大小 57 read_rnd_buffer_size=256k 58 #MySQL軟件用戶排序時緩存大小 59 sort_buffer_size=256k 60 #join 連表操作的緩存大小,根據實際業務來設置,默認8M 61 join_buffer_size=32M 62 63 #關於INNODB存儲引擎參數設置 64 #關於提交日志的時機 65 innodb_flush_log_at_trx_commit=1 66 #存儲日志數據的緩存區的大小 67 innodb_log_buffer_size=1M 68 #緩存池中緩沖區的大小 69 innodb_buffer_pool_size=17M 70 #日記文件的大小 71 innodb_log_file_size=10M 72 #允許線程的最大數 73 innodb_thread_concurrency=8
2.3 配置系統環境變量
//系統變量 //變量名稱 MYSQL //變量值(安裝路徑) F:\mysql-5.7.28-winx64 //在系統變量path添加一條記錄 %MYSQL_HOME%\bin
2.4 初識化MySQL數據庫,使用管理員權限啟動控制台:

然后進入mysql安裝路徑,例如:F:\mysql-5.7.28-winx64\bin
f: F:\>cd mysql-5.7.28-winx64 F:\mysql-5.7.28-winx64> cd bin F:\mysql-5.7.28-winx64\bin>mysqld -initialize --user=mysql --console
一定要注意最后一行打印的信息: A temporary password is generated for root@localhost: ********(星號表示root的臨時密碼,后面登入數據庫修改密碼要用,記得保存好)
2.5 安裝服務:
F:\mysql-5.7.28-winx64\bin>mysqld install MySQL --defaults-file="F:\mysql-5.7.28-winx64\my.ini"
安裝成功后會提示:Service successfully installed.
2.6 安裝服務:
//啟動服務 F:\mysql-5.7.28-winx64\bin>net start MySQL

2.7 使用前面保存的臨時密碼修改你自己的密碼:
mysql -u root -p
然后根據截圖指示登入數據庫,修改密碼:

修改完密碼后退出再用新密碼登入測試:
SET PASSWORD = PASSWORD('新密碼');
//然后退出,再用新密碼登入測試--注意第一個(exit;)后面記得跟分號--然后再
exit;
//回車退出
exit
//再回車就可退出數據庫了
2.8 用新密碼登入測試:
mysql -u root -p

輸入你的密碼登入數據庫。

//測試查看所有數據庫 show databases;

安裝完成了,快點開始你的騷操作吧。
三、問題及解決方案
1.第一次配置文件中的數據庫路徑忘了寫“\data”路徑,直接使用mysqld -initialize --user=mysql --console安裝,導致安裝失敗,失敗導致錯誤的將文件生成到了根目錄下。
解決辦法:刪除data文件夾及其他新生成的文件(對比最新解壓出來的文件目錄)。
然后關閉服務,可以使用命令關閉:
net stop MySQL
最好使用圖形化界面查看服務,我當時還出現了mysql57服務,同樣采用命令關閉。而且當時MySQL文件使用命令關閉后,其狀態還是啟動,指示被禁用而已。這是因為mysqld.exe進程還處於開啟狀態,需要關閉這個進程:
//查看mysqld.exe進程 tasklist | findstr "mysql"
這個查看結果忘了截圖了,可以參考這篇博客:https://blog.csdn.net/pdcfighting/article/details/85345540
然后使用命令關閉進程:
taskkill /f /t /in mysqld.exe
這時候別急着重新開始安裝,我當時在這個地方被windows系統緩存困了好久,因為可能還有sql相關進程沒有關閉,和緩存依然沒有清除,重新操作依然會發生之前一模一樣的的錯誤。
解決辦法:
打開任務管理器,關閉所有跟MySQL有關的進程,沒截圖,如果你遇到同樣問題不懂的話,看誰長得像就關閉誰吧。
然后,繼續滅絕師太的操作,使用垃圾清理工具,清除系統緩存、日志文件、臨時文件、注冊表垃圾等系統垃圾。
不好意思,忘了告訴你在這一系列操作之前關閉控制台,不過我當時也沒有關閉,是后面清除垃圾后關閉的。然后再使用管理員狀態啟動控制台,再操作。
2.可能出現一種更頭疼的問題,就是服務安裝了,但是可能沒有data路徑下沒有mysql數據庫,這個操作跟上面一樣,但是還有一種可能就是注冊表已經注冊了,這需要找到注冊表,然后將整個注冊表下的mySQL文件夾刪除。然后重新操作。
3.可能出現配置錯誤,比如我出現過:
“table_cache=256”報錯,這時因為這個配置廢棄,被“table_open_cache=256”取代。
客戶端的“Port=3306”配置出錯,將[client]下的"port=3306"注釋或者刪除。
“default-character-set=utf8mb4”報錯,這個也是因為配置廢棄,被“loose_default_character_set=utf8mb4”取代。
'innodb_additional_mem_pool_size=2M'報錯,這個也是因為INNODB存儲引擎該配置廢棄,查了好些資料都說不用配置了,不知道有沒有替代配置,反正我直接刪了這個配置項,然后就可以安裝了。
4.按照上面的配置還可能出現“無用時區”問題,三個解決方案:

方案一:修改設置當前系統時區,這個方案並不是很好,每次重啟服務都需要設置一次。

方案二:在my.ini中配置這個設置,這個方案算是一個長期的解決方案,因為每次啟動服務都會根據這個配置設置當前系統時區。(記得要重啟服務才能生效)
//在my.ini的[mysqld]下配置 default-time-zone='+08:00'
方案三:在jdbc連接的url后面加上serverTimezone=GMT即可解決問題,如果需要使用gmt+8時區,需要寫成GMT%2B8
public static final String URL="jdbc:mysql://localhost:3306/jdbc01?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";//鏈接的mysql
