本地navicat遠程連接阿里雲CentOS7的msyql8

問題描述

  • 阿里雲買了一個ECS雲服務器,裝了CentOS7的系統鏡像之後,裝好了node11,mysql8,但是每次創建數據庫都好麻煩,所以,有了這篇文章。
  • 自己百度了一天,看過好多文章,基本就那幾步,我自己再總結一下吧,希望後來者能少走彎路。

解決辦法

  1. 首先,我們在本地window10環境裝好xshell和navicat
  2. xshell遠程登錄ECS服務器,登錄msyql,開放mysql的root用戶所有人訪問權限,
    1. 登錄msyql,進入msyql命令行
    2. 首先輸入  use mysql;使用msyql數據庫
    3. select User,Host from user;  命令查看所有mysql的用戶權限
    4. 可以看到root用戶對應的host是localhost,我們需要設置localhost爲%
    5. update user set Host = '%' where user ='root';  命令更新root的Host爲任何人訪問
    6. 然後刷新權限  flush privileges; 
    7. select User,Host from user;  再次查看root對應的端口
  3. 允許CentOS7自帶的firewall防火牆通過3306端口
    1. 剛開始firewalld防火牆是關閉的,我們先開啓它
       查看防火牆狀態
      // 查看防火牆狀態
      systemctl status firewalld
      // 啓動防火牆
      systemctl start firewalld
      // 查看所有已經啓動的服務
      systemctl list-unit-files|grep enabled
      // 會發現mysqld.service在列
      // 開放3306端口
      firewall-cmd --zone=public --add-port=3306/tcp --permanent
      // 重啓防火牆
      systemctl restart firewalld.service
      // 查看firewalld允許通過的端口列表
      firewall-cmd --zone=public --list-ports
      // 查看當前開了哪些端口,其實一個服務對應一個端口
      firewall-cmd --list-services
    2. centos 有兩種防火牆 FirewallD和iptables防火牆,centos7 使用的是FirewallD防火牆。FirewallD 是 iptables 的一個封裝,可以讓你更容易地管理 iptables 規則 - 它並不是 iptables 的替代品。雖然 iptables 命令仍可用於 FirewallD,但建議使用 FirewallD 時僅使用 FirewallD 命令

    3. 附上所有firewalld的操作命令
      // 1、基本使用
      
      啓動: systemctl start firewalld
      查看狀態: systemctl status firewalld 
      停止: systemctl disable firewalld
      禁用: systemctl stop firewalld
       
      2、systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能於一體。
      
      啓動一個服務:systemctl start firewalld.service
      關閉一個服務:systemctlstop firewalld.service
      重啓一個服務:systemctlrestart firewalld.service
      顯示一個服務的狀態:systemctlstatus firewalld.service
      在開機時啓用一個服務:systemctlenable firewalld.service
      在開機時禁用一個服務:systemctldisable firewalld.service
      查看服務是否開機啓動:systemctlis-enabled firewalld.service
      查看已啓動的服務列表:systemctllist-unit-files|grep enabled
      查看啓動失敗的服務列表:systemctl--failed
      
      3、配置firewalld-cmd
      
      查看版本: firewall-cmd --version
      查看幫助: firewall-cmd --help
      顯示狀態: firewall-cmd --state
      查看所有打開的端口: firewall-cmd--zone=public --list-ports
      更新防火牆規則: firewall-cmd --reload
      查看區域信息:  firewall-cmd--get-active-zones
      查看指定接口所屬區域: firewall-cmd--get-zone-of-interface=eth0
      拒絕所有包:firewall-cmd --panic-on
      取消拒絕狀態: firewall-cmd --panic-off
      查看是否拒絕: firewall-cmd --query-panic
      
      4、怎麼開啓一個端口
      
      添加:firewall-cmd --zone=public --add-port=80/tcp --permanent(--permanent永久生效,沒有此參數重啓後失效)
      重新載入:firewall-cmd --reload
      查看:firewall-cmd --zone=public --query-port=80/tcp
      刪除:firewall-cmd --zone=public --remove-port=80/tcp --permanent
      
      5、查看firewall是否運行,下面兩個命令都可以
      
      systemctl status firewalld.service
      firewall-cmd --state
      
      6、查看當前開了哪些端口
      
      其實一個服務對應一個端口,每個服務對應/usr/lib/firewalld/services下面一個xml文件。
      firewall-cmd --list-services
      
      7、查看還有哪些服務可以打開
      
      firewall-cmd --get-services
      
      8、查看所有打開的端口: 
      
      firewall-cmd --zone=public --list-ports
      
      9、更新防火牆規則: 
      
      firewall-cmd --reload
  4. navicat連接
    1. 先填入常規連接:

    2. 然後填入ssh連接:

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