問題描述
- 阿里雲買了一個ECS雲服務器,裝了CentOS7的系統鏡像之後,裝好了node11,mysql8,但是每次創建數據庫都好麻煩,所以,有了這篇文章。
- 自己百度了一天,看過好多文章,基本就那幾步,我自己再總結一下吧,希望後來者能少走彎路。
解決辦法
- 首先,我們在本地window10環境裝好xshell和navicat
- xshell遠程登錄ECS服務器,登錄msyql,開放mysql的root用戶所有人訪問權限,
- 登錄msyql,進入msyql命令行
- 首先輸入 use mysql;使用msyql數據庫
- select User,Host from user; 命令查看所有mysql的用戶權限
- 可以看到root用戶對應的host是localhost,我們需要設置localhost爲%
- update user set Host = '%' where user ='root'; 命令更新root的Host爲任何人訪問
- 然後刷新權限 flush privileges;
- select User,Host from user; 再次查看root對應的端口
- 允許CentOS7自帶的firewall防火牆通過3306端口
- 剛開始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
-
centos 有兩種防火牆 FirewallD和iptables防火牆,centos7 使用的是FirewallD防火牆。FirewallD 是 iptables 的一個封裝,可以讓你更容易地管理 iptables 規則 - 它並不是 iptables 的替代品。雖然 iptables 命令仍可用於 FirewallD,但建議使用 FirewallD 時僅使用 FirewallD 命令
- 附上所有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
- 剛開始firewalld防火牆是關閉的,我們先開啓它
- navicat連接
- 先填入常規連接:
- 然後填入ssh連接:
- 最終連接成功
- 先填入常規連接: