mysql8.0 安裝 修改密碼 允許遠程連接


mysql從5.7一下子跳躍到了8.0,其中的改變還是很大,有點這里就不說了,小伙伴們自己去百度了解一下,這里重點說一下,安裝的事

1.解壓后,文件下下面是沒有my.ini 和 data目錄的,需要自己新建一個my.ini和data目錄

my.ini的基本代碼就這幾行配置,足矣,更詳細的自己官網上看(F:\mysql-8.0.11-winx64 是我的解壓路徑)

[mysqld]
basedir=F:\mysql-8.0.11-winx64
datadir=F:\mysql-8.0.11-winx64\data 
port = 3306
character-set-server=utf8
#忘記密碼時使用
#skip
-grant-tables
#設置協議認證方式(重點啊)
default_authentication_plugin=mysql_native_password

[mysql]
default-character-set=utf8

2.配置環境變量,將解壓目錄下的bin文件夾的路徑配置到系統變量中的path下(F:\mysql-8.0.11-winx64\bin)

3.以管理員身份運行命令提示符

如果順利會產生下面的信息:

第4行的信息尤其重要,這是初始化密碼,請拿筆或者截圖記下,這個隨機密碼會很隨機,隨機到可能有一些符號;

提示:如果你關了這個窗口,或者沒記住,那也沒事,刪掉初始化的 datadir 目錄(就是解壓文件夾下的data文件夾)里面的東西,不要刪除data文件夾,再執行一遍初始化命令,又會重新生成的

4.安裝服務 mysqld --install 服務名(可以不寫,默認是MySql,如果你的電腦上要安裝付哦個mysql,這里的服務名寫一下做區分),安裝成功后控制它會提示:success ** (忘記了)

mysqld --install [服務名]

 

5.啟動服務(這時候不要去登錄mysql,登錄不進去的,必須要先啟動)

 

6.登錄mysql,當然是為了修改密碼啊,那個隨機密碼鬼才能記得住,這時候也不要嘗試用圖形化管理工具(navicat for mysql)去登錄,會報錯的,繼續往下看

這里踩坑的小朋友一般是密碼輸錯了,或者服務沒啟動,一直登錄不進去。

 

7.修改密碼

ALTER USER "root"@"localhost" IDENTIFIED  BY "你的新密碼";

 注意:重點啊,如果你沒有設置認證方式,默認的密碼加密方式是:caching_sha2_password,而現在很多客戶端工具還不支持這種加密認證方式,連接測試的時候就會報錯:client does not support  authentication protocol requested by server; consider upgrading MySQL client,這里的錯誤信息就是不支持身份認證方式,沒關系,去my.ini里面在[mysqld]下面加上這句話即可:

default_authentication_plugin=mysql_native_password

 

 8.打開遠程訪問

對於允許遠程訪問,有兩種角色,一種是我們的root用戶,還有一種是非root用戶,從安全的角度(我也不知道什么角度,聽別人說的,暫且相信着吧),遠程訪問最后不要用root用戶

用root用戶訪問:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密碼' WITH GRANT OPTION;

 

這里允許root用戶遠程的時候,如果出現如下的錯誤,就先去把root用的host改成%,再運行上面那句話,對於mysql用戶管理這一塊不熟悉的朋友們,請看我另一篇博客--mysql 用戶及權限管理

 

非root用戶,這里就要先去創建一個用戶

切換數據庫
mysql>use mysql;

創建用戶(user1:用戶名;%:任意ip,也可以指定,root默認就是localhost;123456:登錄密碼)
mysql>CREATE USER 'user1'@'%' IDENTIFIED BY '123456';

授權,默認創建的用戶權限是usage,就是無權限,只能登錄而已,(all:所有權限,這里有select,update等等權限,可以去搜一下;后面的*.*:指定數據庫.指定表,這里是所有;to后面就是你剛才創建的用戶)

mysql>grant all on *.* to 'user1'@'%';

注意:用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令: 
GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; 

 

到這里mysql8.0就安裝完成啦!密碼也改好啦,遠程也能打開了,於是繼續做一個碼農去啦!

 


免責聲明!

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



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