s后先下載好mysql release版本解壓到你需要的目錄文件夾下面
建立my.ini文件
[mysqld] #因為數據庫使用的是UTC世界標准時間,和格林威治差8小時,我使用的時Java13所以修改的 default-time-zone = '+8:00' # 設置 3306 端口 port=3306 # 設置 mysql 的安裝目錄 basedir=D:\\MySql\\mysql-8.0.20-winx64 # 設置 mysql 數據庫的數據的存放目錄 datadir=D:\\MySql\\mysql-8.0.20-winx64\\data # 允許最大連接數 max_connections=200 # 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統 max_connect_errors=10 # 服務端使用的字符集默認為 UTF8 character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB #設置默認地區時間 # 默認使用“mysql_native_password”插件認證 default_authentication_plugin=mysql_native_password [mysql] # 設置 mysql 客戶端默認字符集 default-character-set=utf8 [client] # 設置 mysql 客戶端連接服務端時默認使用的端口 port=3306 default-character-set=utf8
當遇到缺少文件runtime.ddl時下載這個或者遇到VCRUNTIME.dll錯誤時或者遇到mysqld --initialize --console 沒反應時下載下面的添加到bin目錄下面就可以了
鏈接:https://pan.baidu.com/s/1VM9-8-_Lz7I-UQbHLwa3cA
提取碼:rosc
當遇到mysql初始化時不記得密碼可以按照如下步驟解決,需要嚴格按照順序來做,不然會出錯
這里是引用
https://developer.aliyun.com/article/676469
1.打開命令窗口cmd,輸入命令:net stop mysql,停止MySQL服務,然后輸入命令
mysqld –skip-grant-tables
以不輸入密碼的方式啟動MySQL服務,但是這條命令對MYSQL8.0.13,是沒有任何作用的。
2..后來又在網上看到這條命令:mysqld --console --skip-grant-tables --shared-memory
操作步驟同1
打開命令窗口cmd,輸入命令:net stop mysql,停止MySQL服務,然后輸入命令
mysqld --console --skip-grant-tables --shared-memory
現在可以以沒有密碼的方式登錄了,但是直接執行命令:
會報錯:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql>
經過多次試驗最終,重置密碼的步驟如下
1.打開命令窗口cmd,輸入命令:net stop mysql,停止MySQL服務,
2.開啟跳過密碼驗證登錄的MySQL服務
輸入命令
mysqld --console --skip-grant-tables --shared-memory
3.再打開一個新的cmd,無密碼登錄MySQL,輸入登錄命令:mysql -u root -p
4. 密碼置為空,命令如下:
use mysql
update user set authentication_string='' where user='root';
5.退出mysql,執行命令:
quit
6. 關閉以-console --skip-grant-tables --shared-memory 啟動的MySQL服務,
7. 打開命令框,輸入:net start mysql 啟動MySQL服務。
8.步驟4密碼已經置空,所以無密碼狀態登錄MySQL,輸入登錄命令:mysql -u root -p
9.利用上一篇博客中更改密碼的命令,成功修改密碼,如下圖:
ALTER USER
'root'
@
'localhost'
IDENTIFIED BY
'新密碼'
;
10.驗證更改后密碼正確登錄
輸入quit,退出當前登錄,輸入登錄命令:mysql -u root -p
輸入密碼,成功登錄,到此,重置密碼結束。