win10安裝mysql8.0及以上版本


參考:

1. win10安裝MySql教程 

2. windows下安裝mysql ,在starting server時卡住,解決方法(親測有效!)

3. mysql安裝:“root@localhost is created with an empty password !”,而非A temporary password is generated for

4. MySQL 8.0.17 第一次登錄並修改密碼

5. 解決Navicat for MySQL 連接 Mysql 8.0.11 出現1251- Client does not support authentication protocol 錯誤

【問題一】: [Server] Failed to set datadir to 'C:\Program Files\MySQL\MySQL Server 8.0\data\' (OS errno: 2 - No such file or directory)

探索【解決方案】:

1 PS C:\Program Files\MySQL\MySQL Server 8.0\bin> net start mysql
2 服務名無效。
3 
4 請鍵入 NET HELPMSG 2185 以獲得更多的幫助。
5 
6 PS C:\Program Files\MySQL\MySQL Server 8.0\bin> net start mysql80
7 MySQL80 服務正在啟動 .
8 MySQL80 服務已經啟動成功。

由上面的 兩條命令,可以得出,在安裝時,所填寫的 服務名 在服務啟動時 需要對應, 即 我安裝時的服務名為mysql80(建議安裝時,直接填寫mysql就好了)

 

緊接着有新的問題出現:

【問題二】:

PS C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p
Enter password: ****
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

【解決方案】:
需要執行命令 mysqld --initialize --console

有效果:

1 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
2 PS C:\Program Files\MySQL\MySQL Server 8.0\bin> mysqld --initialize --console
3 2020-07-18T23:11:16.118917Z 0 [System] [MY-013169] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.21) initializing of server in progress as process 11604
4 2020-07-18T23:11:16.154028Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
5 2020-07-18T23:11:16.816647Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
6 2020-07-18T23:11:18.026729Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rdUko8M6sv(*

 

【問題三】:運用 隨機生成的 密碼,無法登陸mysql

2020-07-18T23:11:18.026729Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rdUko8M6sv(*
PS C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p
Enter password: **********
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

探索【解決方案】:

PS C:\Program Files\MySQL\MySQL Server 8.0\bin> net start mysql
MySQL 服務正在啟動 .
MySQL 服務無法啟動。

PS C:\Program Files\MySQL\MySQL Server 8.0\bin> net stop mysql80
MySQL80 服務正在停止.
MySQL80 服務已成功停止。

// 手動刪除 data文件
// 再次執行命令 mysqld --initialize --console
PS C:\Program Files\MySQL\MySQL Server 8.0\bin> mysqld --initialize --console
2020-07-18T23:18:19.879859Z 0 [System] [MY-013169] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.21) initializing of server in progress as process 5672
2020-07-18T23:18:19.891863Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-07-18T23:18:20.462623Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-07-18T23:18:22.557307Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: _t2kuyQi*B4t


PS C:\Program Files\MySQL\MySQL Server 8.0\bin> net start mysql
MySQL 服務正在啟動 .
MySQL 服務已經啟動成功。


PS C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.21

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> alter user 'root'@'localhost' identified by 'root';
Query OK, 0 rows affected (0.02 sec)

以上完成了 5 步操作:

(1)停掉 mysql80服務;

(2)mysql 安裝目錄,刪去 data;

(3)重新初始化mysql,同時生成隨機的登陸密碼;

(4)利用隨機密碼登錄;

(5)修改登錄密碼。

圓滿 安裝 mysql-installer-community-8.0.21.0.msi

 

【navicat 管理mysql】

【問題四】: Navicat for MySQL 連接 Mysql 8.0.11 出現1251- Client does not support authentication protocol 錯誤

【解法】:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規則 ('password'是你設置的mysql的登錄密碼,我的是root,進行替換)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼 

FLUSH PRIVILEGES; #刷新權限(可能不需要,我就沒有執行刷新,也成功了)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM