1. 程式人生 > >win7 / mysql-8.0.11-winx64 安裝的測坑步驟

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

... premium port 差異 管理 toc mysql.h rac respond

虛驚一場,主要問題是 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.登陸成功。

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 。

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