MySQL8.0.12 安裝及配置教程

MySQL8.0.12 安裝及配置教程

一.安裝

1.從網上下載MySQL8.0.12版本,下載地址:https://dev.mysql.com/downloads/mysql/





 


2. 下載完成後解壓

        我解壓的路徑是:D:\Java\mysql-8.0.12-winx64


3. 配置文件

        首先在解壓的路徑下查看是否含有my.ini的文件,如果沒有則新建一個,內容如下:


[mysqld]

# 設置3306端口

port=3306

# 設置mysql的安裝目錄

basedir=D:\Java\mysql-8.0.12-winx64

# 設置mysql數據庫的數據的存放目錄

datadir=D:\Java\mysql-8.0.12-winx64\data

# 允許最大連接數

max_connections=200

# 允許連接失敗的次數。這是爲了防止有人從該主機試圖攻擊數據庫系統

max_connect_errors=10

# 服務端使用的字符集默認爲UTF8

character-set-server=utf8

# 創建新表時將使用的默認存儲引擎

default-storage-engine=INNODB

# 默認使用“mysql_native_password”插件認證

default_authentication_plugin=mysql_native_password

[mysql]

# 設置mysql客戶端默認字符集

default-character-set=utf8

[client]

# 設置mysql客戶端連接服務端時默認使用的端口

port=3306

default-character-set=utf8

4. 數據庫配置

       通過管理員權限進入cmd(如果不是管理員權限就會出現問題),進入MySQL安裝目錄的bin目錄下




接着輸入mysqld --initialize --console,就會出現以下畫面,其中標紅的爲數據庫root用戶的初始密碼,一定要牢記,後面登錄需要用到,當然要是不小心關掉了或者沒記住,刪掉初始化的 data目錄,再執行一遍初始化命令又會重新生成。




再然後輸入mysqld --install安裝mysql服務,輸入net start mysql啓動服務,備註:mysqld --remove是卸載MySQL服務,net stop mysql是停止服務。




5. 進入數據庫的配置

輸入mysql -u root -p後會讓你輸入密碼,密碼爲前面讓你記住的密碼,輸入正確後就會出現如下界面,表示進入了MySQL命令模式。




接着更改密碼,輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';  出現如下界面表示更改成功。




到此,MySQL8.0.12數據庫就安裝完成了。


 

二.數據庫相關配置

查看默認數據庫:show databases;


選擇mysql數據庫:use mysql


查看默認MySQL用戶:select host, user, authentication_string, plugin from user;




創建新用戶: CREATE USER '用戶名'@'host名稱' IDENTIFIED WITH mysql_native_password BY '密碼';


給新用戶授權:GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'host名稱';


刷新權限: FLUSH PRIVILEGES;






 


三.問題詳解

1. MySQL8.0.12不能連接Navicat

原因:MySQL8.0與MySQL5.0所採用的加密方式規則不一樣,所以導致 Navicat打不開。可通過select host, user, authentication_string, plugin from user;查看密碼的規則。




如上圖,plugin這一列就是對應用戶的加密規則,可以看到我的root用戶的加密規則是:mysql_native_password,這是因爲我已經設置過了,默認的是:caching_sha2_password,所以我們只需要將默認的caching_sha2_password改爲mysql_native_password即可。


解決方案:輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';即可修改root用戶的加密規則以及密碼。


 


2. 授權出錯,顯示You are not allowed to create a user with GRANT

原因:在網上有很多教程說當出現The user specified as a definer ('root'@'%') does not exist時表示root用戶權限不足,只需要執行GRANT ALL ON *.* TO 'root'@'%';就可以了,但是往往又會出現You are not allowed to create a user with GRANT的錯誤提示。這是因爲GRANT ALL ON *.* TO 'root'@'%';這條語句中@'%'中的百分號其實是root用戶對應host的名稱,很多人並沒有注意到他的root用戶對應的其實是localhost,直接就執行了上面的語句,所以纔會報錯。


解決方案:只要將GRANT ALL ON *.* TO 'root'@'%';中的%改爲對應的host名稱即可,最後還要刷新一下權限FLUSH PRIVILEGES; 。


特別說明:網上說%表示通配所有的host,但是操作時並不成功,不明白是爲什麼,我猜想可能與MySQL8.0版本有關係。




 


參考自:http://www.cnblogs.com/laumians-notes/p/9069498.html

--------------------- 

作者:missing2011 

來源:CSDN 

原文:https://blog.csdn.net/missing2011/article/details/81474857 

版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章