1. 程式人生 > >Windows 上 SQLyog 連線 CentSO7 上 MySql 相關設定及常見問題

Windows 上 SQLyog 連線 CentSO7 上 MySql 相關設定及常見問題

一、版本相關

1. CentOS7

# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (AltArch) 

2. Mysql

# mysql -V
mysql  Ver 14.14 Distrib 5.7.17, for Linux (i686) using  EditLine wrapper

3. Windows10 安裝 SQLyog

二、mysql資料庫使用者設定

1. 檢查 user 表使用者資訊

1.1 登陸

[[email protected]
~]# mysql -uroot -p Enter password: 

1.2 檢查

mysql> select host, user, authentication_string from mysql.user;
+-----------+-----------+-------------------------------------------+
| host      | user      | authentication_string                     |
+-----------+-----------+-------------------------------------------+
| localhost | root      | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+-----------+-------------------------------------------+
2 rows in set (0.00 sec)

1.3 建立使用者 admin (也可以直接使用 root 使用者,需要更新 host=%)

mysql> create user 'admin' identified by '123456';    -- 使用者名稱:admin 密碼:123456
Query OK, 0 rows affected (0.09 sec)

1.4 將 mysql 所有許可權賦給 admin

mysql> grant all on *.* to 'admin'@'192.168.209.129' identified by '123456';  -- ip ‘192.168.209.129’ 獲取可以參考 1.6
Query OK, 0 rows affected, 1 warning (0.02 sec)

1.5 使操作生效

mysql> flush privileges;
Query OK, 0 rows affected (0.15 sec)

1.6 再次查詢

mysql> select host, user, authentication_string from user;
+-----------------+-----------+-------------------------------------------+
| host            | user      | authentication_string                     |
+-----------------+-----------+-------------------------------------------+
| localhost       | root      | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost       | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| 192.168.209.129 | admin     | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| %               | admin     | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)

2. 在windows上使用 sqlyog 連線 mysql,如果成功則最好,如果報下面的錯誤,則說明防火牆沒有對 3306 埠對外訪問開許可權


三、使用 firewalld 開啟埠對外訪問許可權

1. 啟動 firewalld

systemctl start firewalld

2. 開啟 3306 訪問許可權

firewall-cmd --zone=public --add-port=3306/tcp --permanent    #permanent永久生效,沒有此引數重啟後失效
firewall-cmd --reload                                         #使配置生效

3. 再次使用 SQLyog 連線 Mysql

四、firewalld 基本操作命令

1. firewalld的基本使用

systemctl start firewalld        #啟動
systemctl stop firewalld         #關閉 
systemctl status firewalld       #檢視狀態
systemctl disable firewalld      #開機禁用
systemctl enable firewalld       #開機啟用
systemctl mask firewalld         #鎖定服務
systemctl unmask firewalld       #取消鎖定服務

2. systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能於一體。

systemctl start firewalld.service       #啟動一個服務
systemctl stop firewalld.service        #關閉一個服務
systemctl restart firewalld.service     #重啟一個服務
systemctl status firewalld.service      #顯示一個服務的狀態
systemctl enable firewalld.service      #在開機時啟用一個服務
systemctl disable firewalld.service     #在開機時禁用一個服務
systemctl is-enabled firewalld.service  #檢視服務是否開機啟動
systemctl list-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=3306/tcp --permanent       #配置一個埠,permanent永久生效,沒有此引數重啟後失效
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent  #配置區間設定埠
firewall-cmd --reload                                            #重新載入,是配置生效
firewall-cmd --zone= public --query-port=3306/tcp                #檢視
firewall-cmd --zone= public --remove-port=3306/tcp --permanent   #刪除埠

5. 當然你可以還原傳統的管理方式

#執行一下命令:
systemctl stop firewalld    #停止firewalld
systemctl mask firewalld    #鎖定firewalld

#並且安裝iptables-services:
yum install iptables-services

systemctl enable iptables   #設定開機啟動
systemctl disable iptables  #設定禁用啟動
systemctl stop iptables
systemctl start iptables
systemctl restart iptables
systemctl reload iptables

service iptables save       #儲存設定

#開放某個埠 在vi /etc/sysconfig/iptables裡新增
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

6. 再次使用 SQLyog 連線 Mysql