1:從 https://downloads.mysql.com/archives/community/ 下載5.7.29的免安裝社區版
2:解壓到電腦的目錄,然後配置my.ini文件(在5.7.29的zip包裏面沒有這個文件的模板):
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8[mysqld]
#設置MySQL服務端的監聽端口
port=3316
# 設置mysql的安裝目錄
basedir=D:\Programs\mysql-5.7.29
# 設置mysql數據庫的數據的存放目錄
datadir=Y:\02_data\mysql-5.7.29
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認爲UTF-8字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
3:以管理員權限打開cmd,輸入下面的命令 初始化數據庫
mysqld --defaults-file=D:\Programs\mysql-5.7.29\my.ini --initialize --console
這個地方報錯了,提示“--initialize specified but the data directory has files in it. Aborting.”:
這是因爲之前未正確配置參數就執行了mysqld的命令,結果在data目錄下留下了髒數據。把data目錄清空,重新執行即可成功。注意生成的臨時密碼。
4:將mysql的安裝目錄下的bin目錄加到path裏面。
5:將mysql服務加到windows的服務管理裏面。命令:
mysqld install
6:啓動msyql服務。但是這個時候總是報錯,提示“發生系統錯誤2”:
找了半天沒找到原因。嘗試着重新install一下,發現了問題:
mysqld的文件目錄跟實際的不符。原因不明。將服務刪除重新加,就可以重新啓動了:
mysqld -remove MySQL
7:登錄數據庫,設置root密碼。這個時候一直登錄不了,沒有權限。
解決辦法:(1)停止mysql服務;(2)在my.ini中添加skip-grant-tables;(3)重新啓動mysql。
這樣就可以免密碼登錄mysql(此時提示輸入密碼時,直接回車):
重置root密碼成功:
8:去掉my.ini配置文件中的skip-grant-tables,重啓數據庫。用新密碼登錄成功:
9:但此時操作受限,一直提示“You must reset your password using ALTER USER statement before executing this statement”來重置密碼,但是重置的時候一直提示沒有權限,死循環:
最終在登錄mysql數據庫後,用set password=password("Rbc@123;"); 設置密碼成功,訪問正常。
注意,登錄mysql數據庫,是指MySQL的內置的數據庫。用root賬戶登錄的時候就是連到這個數據庫。