【記錄】Linux環境安裝mysql8.0


話說mysql8.0版本比5.7版本要快2倍以上,這么看宣傳怎么能不裝8.0呢,但是新版本和舊版本有不少不同導致若使用以前的一些安裝方法會導致安到一半就由於各種找不到文件卡住。

嘗試了不少次,只有使用yum源安裝的方法成功了,其中還有以boot版本的編譯安裝方法,結果編譯到73%卡住怎么也過不去233

基本按照下面這個博客的教程即可以安裝成功,在此感謝正確且完善的良心教程:

https://blog.csdn.net/qq_35098526/article/details/80077683

以下為以防萬一的copy,

1. wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

2. sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

3. sudo yum install mysql-server

4. mysql -u root (失敗)

5. sudo chown -R root:root /var/lib/mysql

6. service mysqld restart

grep 'temporary password' /var/log/mysqld.log

7. mysql -u root -p(成功)

8. ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';(密碼需要大小寫英文加數字)

以下為使用navicat連接Linux上的mysql的方法。

由於存在防火牆,mysql對應的端口未開放的關系,無法從外部網絡連接。

最簡單的方法是停掉防火牆,但是這樣做不安全,若發現Linux未安裝防火牆,則可以

先以防萬一停止防火牆服務

sudo systemctl stop firewalld.service (service  iptables stop)

sudo systemctl disable firewalld.service

重新安裝防火牆

sudo yum install iptables-services  

sudo systemctl enable iptables

sudo systemctl enable ip6tables 

啟動防火牆

sudo systemctl start iptables 

sudo systemctl start ip6tables

查看防火牆狀態,應該是active

service iptables status

查看開放的端口,這里應該沒有mysql的3306端口

netstat -aptn 

打開防火牆設置,輸入以下語句並輸入i進入編輯模式

vi /etc/sysconfig/iptables

在Commit語句的上一條的上面加入以下語句開放3306端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

service iptables save

(firetabled的情況下)

firewall-cmd --zone=public --add-port=3690/tcp --permanent

重啟防火牆設置

systemctl restart iptables.service

登錄mysql

mysql -u root -p;

切換數據庫

use mysql;

創建全環境用root賬號

create user 'root'@'%' identified by '密碼';

授予root權限

grant all on *.* to root@'%';

使用以下語句解決mysql8.0 authentication plugin 'caching_sha2_password' 的問題

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';

在navicat輸入新連接的主機名,用戶,密碼,連接測試,成功。

若遇到其他問題則繼續度娘咯

 


免責聲明!

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



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