0四、navicat沒法鏈接阿里雲mysql

阿里雲服務器上布了一個mysql,而後本地想要經過navicat鏈接,一直鏈接不上。html

後來索性本地telent阿里雲服務器的3306端口,發現連不通,因而想到3306端口並無對外開放。一開始覺得是linux服務器的防火牆,不過查看了服務器的防火牆等等也都沒有開。mysql

後來才知道,阿里雲的服務器默認端口是不對外開放的,若是想要供外部訪問,須要在安全組中手動添加規則。。。。這是個大坑啊linux

首先建立安全組,而後再安全組中添加規則,以下所示,詳情能夠參考官方文檔 
https://helpcdn.aliyun.com/document_detail/25471.html?spm=5176.doc25468.2.4.RfJyPUsql

這裏寫圖片描述

添加規則以後,再用navicat連,報另外一條錯誤數據庫

1045 access denied for user'root'@'localhost' using password yes
  • 1

猜測是由於我本地使用root用戶登陸navicat,而root用戶並無開放外部的訪問權限,而是隻能localhost訪問安全

下一步登錄mysql數據庫,使用命令服務器

這裏寫圖片描述

果真root用戶的訪問權限是localhost,並不能從外部進行訪問,須要手動賦權測試

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
  • 1

實測,我本身的到這力就行了,下文未測試。---seasonQui

好了,這下又報錯阿里雲

Your password does not satisfy the current policy requirements
  • 1

也就是密碼強度不符合,我也是醉了,使用下面的命令能夠查看設置的密碼強度校驗規則

SHOW VARIABLES LIKE 'validate_password%';
  • 1

這裏寫圖片描述

果真是有很麻煩的校驗,網上有不少去除這個校驗的方法,不過都須要修改配置文件而後重啓數據庫,我的以爲有點麻煩,還有一種臨時辦法能夠去除密碼強度校驗(不過下次登陸又得用一遍,好處是不須要重啓)

set global validate_password_policy=0;
  • 1

好了,再輸入上面的對root用戶賦權的命令,大功告成

這裏寫圖片描述

OK,到這裏,服務器的3306端口也對外開放了,root用戶也能夠從外部進行訪問了,navicat鏈接成功

 

原文出處: 
http://blog.csdn.net/antony9118/article/details/77835715

相關文章
相關標籤/搜索