欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談mysql8.0新特性的坑和解決辦法(小結(jié))

 更新時間:2018年09月28日 10:17:36   作者:-白日夢想家-  
這篇文章主要介紹了淺談mysql8.0新特性的坑和解決辦法(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、創(chuàng)建用戶和授權(quán)

在mysql8.0創(chuàng)建用戶和授權(quán)和之前不太一樣了,其實嚴(yán)格上來講,也不能說是不一樣,只能說是更嚴(yán)格,mysql8.0需要先創(chuàng)建用戶和設(shè)置密碼,然后才能授權(quán)。

#先創(chuàng)建一個用戶
create user 'hong'@'%' identified by '123123';

#再進(jìn)行授權(quán)
grant all privileges on *.* to 'hong'@'%' with grant option;

如果還是用原來5.7的那種方式,會報錯誤:

grant all privileges on *.* to 'sroot'@'%' identified by '123123';

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 'identified by '123123'' at line 1

 二、MySQL8.0 的遠(yuǎn)程鏈接

MySQL8.0 安裝完成后出現(xiàn)無法遠(yuǎn)程鏈接的現(xiàn)象,這是因為MySQL8.0 只支持 localhost 訪問,我們必須設(shè)置一下才可以遠(yuǎn)程訪問。

具體設(shè)置步驟如下:

① 登錄MySQL

執(zhí)行命令為:mysql -u root -p 

回車后輸入密碼

② 選擇 mysql 數(shù)據(jù)庫

執(zhí)行命令為:use mysql;

查看mysql 數(shù)據(jù)庫中存儲的用戶信息的 user 表。

③ 查看mysql 數(shù)據(jù)庫的 user 表中當(dāng)前 root 用戶的相關(guān)信息

執(zhí)行命令為:select host,user,authentication_string,plugin from user;

執(zhí)行完命令后顯示一個表格, root 用戶的 host默認(rèn)顯示的 localhost,說明只支持本地訪問,不允許遠(yuǎn)程訪問。

④ 更改 host 的默認(rèn)配置

執(zhí)行命令為:update user set host='%' where user='root';

⑤ 刷新

執(zhí)行命令為:flush privileges;

之前以為這樣就行了,然后呢,在用navicat進(jìn)行mysql的遠(yuǎn)程連接時,出現(xiàn)了彈窗報錯:


出現(xiàn)這個原因是mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password, 解決問題方法有兩種,一種是升級navicat驅(qū)動,一種是把mysql用戶登錄密碼加密規(guī)則還原成mysql_native_password. 我用是第二種方式 :

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規(guī)則 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';#更新一下用戶的密碼
FLUSH PRIVILEGES; #刷新權(quán)限 

問題就解決了。

mysql8.0用戶密碼設(shè)置注意事項

在MySQL 8.0.11中,caching_sha2_password是默認(rèn)的身份驗證插件,而不是以往的mysql_native_password。有關(guān)此更改對服務(wù)器操作的影響以及服務(wù)器與客戶端和連接器的兼容性的信息,請參閱caching_sha2_password作為首選的身份驗證插件。(翻譯自https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html

今天在新服務(wù)上配置安裝mysql8.0.11時,像往常一樣設(shè)置mysql密碼,設(shè)置成功后在shell下輸入mysql -u root -p,再輸入密碼能正常進(jìn)入,但在phpmyadmin或直接用http://php.net/manual/zh/mysqli.real-connect.php上的連接,均提示無法連接,具體報錯信息為

mysqli_real_connect(): The server requested authentication method unknown to the client [sha256_password]

搜了一圈,找到官方文檔才發(fā)現(xiàn)從8.0.11版本起,不再像mysql5.7及以前版本那樣,設(shè)置用戶密碼時默認(rèn)的驗證方式為caching_sha2_password,如果發(fā)現(xiàn)升級mysql8.0.11后原有的程序不能連接mysql,可迅速在mysql command line client客戶端用下面的命令設(shè)置成mysql5.7及以前版本的密碼驗證方式,同時MYSQL8.0.11下修改密碼的方式與原先也不大一樣,原先的部分修改密碼的命令在mysql8.0.11下不能使用。

> use mysql 

> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼'; 

> FLUSH PRIVILEGES; 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟

    Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟

    大家好,本篇文章主要講的是Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟,感興趣的同學(xué)快來看一看吧,希望對你起到幫助
    2021-11-11
  • mysql 存在該記錄則更新,不存在則插入記錄的sql

    mysql 存在該記錄則更新,不存在則插入記錄的sql

    非常不錯的功能,主要用于更新特定的記錄,如果存在這條記錄則更新一下,如果不存在則插入記錄。應(yīng)用于配置文件等。
    2010-04-04
  • MySQL數(shù)據(jù)庫連接異常匯總(值得收藏)

    MySQL數(shù)據(jù)庫連接異常匯總(值得收藏)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫連接異常匯總,幫助大家更好的理解和學(xué)習(xí)mysql,感興趣的朋友可以了解下
    2020-08-08
  • mysql 查詢重復(fù)的數(shù)據(jù)的SQL優(yōu)化方案

    mysql 查詢重復(fù)的數(shù)據(jù)的SQL優(yōu)化方案

    這篇文章主要介紹了mysql 查詢重復(fù)的數(shù)據(jù)的SQL優(yōu)化方案,非常不錯的方案推薦給大家。
    2015-02-02
  • MySQL數(shù)據(jù)庫中null的知識點總結(jié)

    MySQL數(shù)據(jù)庫中null的知識點總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于MySQL數(shù)據(jù)庫null的知識點以及相關(guān)實例,需要的朋友們可以學(xué)習(xí)下。
    2019-10-10
  • mysql執(zhí)行計劃Explain解讀

    mysql執(zhí)行計劃Explain解讀

    在數(shù)據(jù)庫操作中,理解Explain執(zhí)行計劃對于性能優(yōu)化至關(guān)重要,Explain展示了MySQL如何執(zhí)行查詢,包括選擇哪些索引,如何連接表,以及估計的行數(shù)等,Select類型、訪問表的方式、使用的索引、以及額外的執(zhí)行信息,都是優(yōu)化查詢時需要考慮的因素
    2024-10-10
  • 關(guān)于com.mysql.jdbc.Driver與com.mysql.cj.jdbc.Driver的區(qū)別

    關(guān)于com.mysql.jdbc.Driver與com.mysql.cj.jdbc.Driver的區(qū)別

    這篇文章主要介紹了關(guān)于com.mysql.jdbc.Driver與com.mysql.cj.jdbc.Driver的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 詳解CentOS 6.5中安裝mysql 5.7.16 linux glibc2.5 x86 64(推薦)

    詳解CentOS 6.5中安裝mysql 5.7.16 linux glibc2.5 x86 64(推薦)

    這篇文章主要介紹了CentOS 6.5中安裝mysql 5.7.16 linux glibc2.5 x86 64(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • MySQL中WITH?AS語句的使用方法舉例

    MySQL中WITH?AS語句的使用方法舉例

    在MySQL中WITH AS語法用于創(chuàng)建一個臨時的命名查詢(也稱為子查詢),這些子查詢可以在后續(xù)的查詢中引用,從而簡化查詢語句的編寫,這篇文章主要給大家介紹了關(guān)于MySQL中WITH?AS語句的使用方法,需要的朋友可以參考下
    2024-06-06
  • mysql?sql_mode數(shù)據(jù)驗證檢查方法

    mysql?sql_mode數(shù)據(jù)驗證檢查方法

    sql_mode?會影響MySQL支持的sql語法以及執(zhí)行的數(shù)據(jù)驗證檢查,通過設(shè)置sql_mode?,可以完成不同嚴(yán)格程度的數(shù)據(jù)校驗,有效地保障數(shù)據(jù)準(zhǔn)確性,這篇文章主要介紹了mysql?sql_mode數(shù)據(jù)驗證檢查,需要的朋友可以參考下
    2023-08-08

最新評論