linux(CentOS7.6)下安裝mysql8.0並使用navicat遠程訪問


  上篇中2G內存服務器安裝sql server失敗了,這里我嘗試使用mysql進行數據存儲,簡單點,直接用yum命令安裝(在CentOS下,可以直接通過yum命令來安裝數據庫);在CentOS7中默認安裝有MariaDB,這個是MySQL的分支,但為了需要,還是要在系統中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。

1、創建mysql下載及安裝目錄(/usr/local/mysql)

 2、添加安裝包

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

 3、安裝/啟動

#安裝
sudo yum -y install mysql-community-server

#啟動服務
sudo systemctl start mysqld

#查看版本信息
mysql -V

4、鏈接mysql並設置root密碼

#1、查看MySQL為Root賬號生成的臨時密碼
grep "A temporary password" /var/log/mysqld.log

#2、進入MySQL shell
mysql -u root -p

#3、修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mypwd123!';

 5、開放端口(供遠程鏈接mysql使用)

#開放端口
firewall-cmd --add-port=3306/tcp --permanent

#重新加載防火牆設置
firewall-cmd --reload

 報錯,提示防火牆未運行,基於安全考慮,還是開啟防火牆比較好;

①查看防火牆狀態(systemctl status firewalld):目前是dead

 ②開啟防火牆(systemctl start firewalld),關閉防火牆命令為:systemctl stop firewalld;

查看開放端口:firewall-cmd --list-ports

 開啟之后再執行開放端口命令,開啟成功之后,重新加載一次防火牆設置

 6、創建數據庫及為該數據庫配置遠程訪問賬號(mysql80版本后不允許grant在授權的時候隱式創建用戶,必須先創建用戶)

#新建本地用戶
CREATE USER 'test'@'localhost' IDENTIFIED BY 'Test@123456';

#新建遠程用戶
CREATE USER 'test'@'%' IDENTIFIED BY 'Test@123456';

#新建數據庫
CREATE DATABASE testdb;

#賦予指定賬戶指定數據庫遠程訪問權限
GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'%';

#賦予指定賬戶對所有數據庫遠程訪問權限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';

#賦予指定賬戶對所有數據庫本地訪問權限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';

#刷新權限
FLUSH PRIVILEGES;

7、使用新創建的用戶(已授權遠程訪問的用戶),navicat for mysql遠程鏈接:

 

 

 百度查找了下,出現這種情況的原因是:mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password,

那么直接修改登錄用戶的加密規則即可:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;#修改加密規則
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼 
FLUSH PRIVILEGES; #刷新權限

再次使用navicat鏈接,成功!

參考資料

https://cloud.tencent.com/developer/article/1333812

https://blog.csdn.net/seventopalsy/article/details/80195246


免責聲明!

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



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