win7 / mysql-8.0.11-winx64 安裝的測坑步驟


虛驚一場,主要問題是 Navicat Premium 連接 mysql8  Client does not support authentication 。

1.  下載 官網下載壓縮包: mysql-8.0.11-winx64.zip

2. 解壓到想要安裝的目錄:然后在安裝包下新建文件my.ini 內容如下:(注意basedir/datadir...data根據自己的安裝位置配置)

[client]

port=3306
default-character-set=utf8

[mysqld]
#設置mysql的安裝目錄
basedir=D:\DevelopInstall\mysql-8.0.11-winx64
#設置mysql的數據目錄
datadir=D:\DevelopInstall\mysql-8.0.11-winx64\data

character_set_server=utf8
#sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
#開啟查詢緩存
explicit_defaults_for_timestamp=true

3. 以管理員身份運行cmd 進入: mysql-8.0.11-winx64/bin目錄下: 執行命令 mysqld –-initialize         

    (在data下可以看到.err文件,其中藏有你首次登錄root的密碼)如:

   A temporary password is generated for root@localhost: Cu/fkq0Mts?t

4. cmd中  執行mysqld install 安裝服務,

5.cmd中  net start mysql  啟動服務  

6.cmd中  mysql -u root -p 登陸 .err文件中密碼粘貼過來用於登陸

                           

 

7.登陸成功。

        修改為新密碼:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';  

  

mysql> use mysql;

mysql> select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | localhost |
+------------------+-----------+

mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.05 sec)

==============至此安裝完畢,可以運程訪問了。 下邊是另外一條岔路。========================

8*************** 現在我用 Navicat Premium 連接 mysql   提示:Client does not support authentication protocal requested by server;  ...   

我以為是root沒有允許遠程ip連接於是准備賦予權限:

grant all privileges on *.* to root@'%' identified by '123456';

mysql> grant all privileges on *.* to root@'%' identified by '123456';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'ident
ified by '123456'' at line 1

-------------反復執行反復錯誤,反復百度查詢錯誤提示,並沒有什么用處。最后google代理: 一下子就有結果了: 

https://stackoverflow.com/questions/50177216/how-to-grant-all-privileges-to-root-user-in-mysql-8-0

我看了上半段: 大意是grant all privileges on *.* to root@'%' identified by '123456'; 報錯啊,mysql8與5.1有差異啊,該怎么賦予權限給root也能被遠程ip訪問啊。

最后看到

mysql> CREATE USER 'java'@'%' IDENTIFIED BY 'root';

Query OK, 0 rows affected (0.31 sec)

mysql> GRANT ALL PRIVILEGES ON . TO 'java'@'%' WITH GRANT OPTION;

Query OK, 0 rows affected (0.16 sec)

總之,是得創建新用戶並且順便賦予權限。那么我就如上改了'java'@'%' 用戶用作為遠程連接了。

9.之后還是連不上

Navicat Premium 連接 mysql   提示:Client does not support authentication protocal requested by server;  ...   

最后:

https://www.cnblogs.com/xiaojian1/p/mysql.html

alter user 'test'@'%' identified with mysql_native_password by '123';  解決煩惱Navicate可以正常連接了。

虛驚一場,主要問題是 Navicat Premium 連接 mysql8  Client does not support authentication 。

 


免責聲明!

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



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