Cause:
1. The database is not authorized
2. The server firewall does not open port 3306
1. The database is not authorized
There is no authorization for the mysql database, just use one command.
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
After input, the following statement is needed to make the modification effective
mysql>FLUSH PRIVILEGES;
(Recommended tutorial: centos tutorial)
two , The server firewall does not open port 3306
centos has two firewalls: FirewallD and iptables firewall
centos7 uses FirewallD firewall.
FirewallD is a front-end controller for iptables, used to implement persistent network traffic rules. It provides command line and graphical interfaces and is available in the repositories of most Linux distributions. Compared with directly controlling iptables, there are two main differences in using FirewallD:
1. FirewallD uses zones and services instead of chain rules.
2. It dynamically manages rule sets, allowing rules to be updated without destroying existing sessions and connections.
FirewallD is a wrapper around iptables that allows you to manage iptables rules more easily - it is not a replacement for iptables. Although iptables commands can still be used with FirewallD, it is recommended that only FirewallD commands be used when using FirewallD.
FirewallD firewall opens port 3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
Restart the firewall
systemctl restart firewalld.service
The above is the detailed content of Unable to connect to the database remotely under centos7. For more information, please follow other related articles on the PHP Chinese website!