這是MySQL8.0一個登陸驗證的問題。mysql
第一步 初始化配置sql
若是已經初始化了,就直接跳過第一步數據庫
你須要知道的是:MySQL安裝的路徑。個人路徑是:G:\mysql-8.0.11-winx64加密
在C:\Windows\System32路徑下找到cmd.exe,右鍵以管理員身份運行,並切換到mysql-8.0.11-winx64中。.net
輸入命令初始化data目錄:插件
mysqld --initialize --console 會出現一段內容,找到內容中root@localhost: 它後面就是登陸數據庫的初始密碼,必定要記下來get
再輸入命令初始化mysql服務cmd
mysqld --install 而後輸入命令啓動mysqlit
net start mysql 若是已經啓動了,他會提示你服務已經啓動。io
若是提示拒絕訪問,那你確定沒有以管理員身份運行cmd。在C:\Windows\System32路徑下找到cmd.exe,右鍵以管理員身份運行。繼續上步操做。
接下來,登陸到數據庫
mysql -u root -p 密碼:輸入就是剛纔記下來的,
登錄成功後接着更改密碼,輸入
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
這以上只是確保不會出現其餘的問題,還不能解決密碼驗證的問題。
第二步 修改MySQL的登陸驗證配置
cmd鏈接mysql
mysql -u root -p 修改加密規則
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 更新一下用戶的密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 刷新權限
FLUSH PRIVILEGES; 重置下密碼(123456789這裏是你要設置的密碼)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456789'; 完成之後,試着從新鏈接mysql數據庫,若是尚未成功,繼續往下走:
第三步 根目錄增長配置文件
在mysql-8.0.11-winx64這個目錄下,新建my.ini文件,文件內容以下,記得保存:
[mysqld]
default_authentication_plugin=mysql_native_password [mysql]
default-character-set=utf8 [client]
port=3306 default-character-set=utf8
default_authentication_plugin=mysql_native_password [mysql]
default-character-set=utf8 [client]
port=3306 default-character-set=utf8 接下來須要重啓mysql服務。
先中止mysql服務,
net stop mysql 若是提示拒絕訪問,那你確定沒有以管理員身份運行cmd。在C:\Windows\System32路徑下找到cmd.exe,右鍵以管理員身份運行。繼續上步操做。
已中止成功後,繼續輸入命令啓動mysql
net start mysql 查看是否是能夠正常啓動
若是沒法啓動,就是那個my.ini文件的問題,嘗試只保留文件中的一部分
[mysqld]
default_authentication_plugin=mysql_native_password 繼續啓動mysql。
啓動成功後,就說明修改配置文件成功,嘗試去鏈接數據庫,應該就成功了