mysql修改网络服务_MySql-Server 就要修改成允许 Web-Server 进行远程连接. 最后一步 需要使用ALTER USER … ACCOUNT UNLOCK语句进行解锁了:...
.MySql-Server 出于安全方面考慮只允許本機(localhost, 127.0.0.1)來連接訪問. 這對于 Web-Server 與 MySql-Server 都在同一臺服務器上的網站架構來說是沒有問題的. 但隨著網站流量的增加, 后期服務器架構可能會將 Web-Server 與 MySql-Server 分別放在獨立的服務器上, 以便得到更大性能的提升, 此時 MySql-Server 就要修改成允許 Web-Server 進行遠程連接.
我們可以按照下面的步驟修改:
1, 登錄 Mysql-Server 連接本地 mysql (默認只允許本地連接) :
[root@stonex ~]# ?mysql -u root -p
2, 修改 Mysql-Server 用戶配置
mysql> USE mysql; -- 切換到 mysql DB
Database changed
mysql> SELECT User, Password, Host FROM user; -- 查看現有用戶,密碼及允許連接的主機
+------+----------+-----------+
| User | Password | Host ? ? ?|
+------+----------+-----------+
| root | ? ? ? ? ?| localhost |
+------+----------+-----------+
1 row in set (0.00 sec)
mysql> -- 只有一個默認的 root 用戶, 密碼為空, 只允許 localhost 連接
12
mysql> -- 下面我們另外添加一個新的 root 用戶, 密碼為空, 只允許 192.168.1.100 連接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
mysql> -- @'192.168.1.100'可以替換為@‘%’就可任意ip訪問,當然我們也可以直接用 UPDATE 更新 root 用戶 Host, 但不推薦, SQL如下:
mysql> -- UPDATE user SET Host='192.168.1.100' WHERE User='root' AND Host='localhost' LIMIT 1;
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
復制代碼
修改root密碼
mysql> use mysql
Database changed
mysql> update user set password=PASSWORD('123456') where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 ?Changed: 0 ?Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
如果遠程連接,提示:1045 access denied for user root ‘ip地址’ ? ?(using password: YES)
是因為Centos 7 防火墻沒有開啟3306端口
防火墻開放3306端口
1、打開防火墻配置文件
vi ?/etc/sysconfig/iptables
2、增加下面一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重啟防火墻
service ?iptables restart
注意:增加的開放3306端口的語句一定要在icmp-host-prohibited之前
附:個人配置
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
如果遠程連接,提示:3118 access denied for user root ? ? account is locked.
此時就需要使用ALTER USER … ACCOUNT UNLOCK語句進行解鎖了:
mysql>ALTER USER '用戶名'@'%' ACCOUNT UNLOCK;
Query OK, 0 rows affected (0.00 sec)
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql修改网络服务_MySql-Server 就要修改成允许 Web-Server 进行远程连接. 最后一步 需要使用ALTER USER … ACCOUNT UNLOCK语句进行解锁了:...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 独占设备的分配和回收模拟_系统设计硬核知
- 下一篇: mysql连接数thread_MySQL