Home  >  Article  >  Database  >  Can't connect to MySQL server on 'server_name' (10061) - How to solve the MySQL error: Unable to connect to the server, error number: 10061

Can't connect to MySQL server on 'server_name' (10061) - How to solve the MySQL error: Unable to connect to the server, error number: 10061

PHPz
PHPzOriginal
2023-10-05 13:17:161853browse

Can\'t connect to MySQL server on \'server_name\' (10061) - 如何解决MySQL报错:无法连接到服务器,错误编号:10061

Can't connect to MySQL server on 'server_name' (10061) - How to solve the MySQL error: Unable to connect to the server, error number: 10061, specific code examples are required

When using MySQL to develop or manage databases, sometimes you will encounter the problem of being unable to connect to the server. The common error message is "Can't connect to MySQL server on 'server_name' (10061)". This situation is usually caused by connection misconfiguration, network problems, or unresponsive MySQL server. This article will explain the cause of this error and provide some workarounds, including sample code.

  1. Check the server name and port number
    First, make sure the server name and port number provided are correct. Normally, MySQL server uses the standard port number 3306, but this may change in some cases. Make sure you are using the correct server name and port number.
  2. Confirm MySQL server is running
    Use the following command to check if your MySQL server is running:

    $ sudo service mysql status

    If it is not running, you can start it using the following command:

    $ sudo service mysql start

    Make sure the MySQL server has started successfully.

  3. Check Firewall Settings
    If a firewall is enabled on your server, it may need to be configured appropriately to allow inbound connections to the MySQL server. Make sure the firewall is set up correctly to allow connections to the server using MySQL's port number.

The following is an example of using the iptables command to allow TCP connections to port 3306:

$ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Please note that specific firewall settings may vary depending on the operating system and configuration. To learn more about configuring your firewall, refer to the relevant operating system documentation or ask your system administrator.

  1. Check MySQL User Permissions
    If you are using a remote MySQL server, rather than a local server, you need to ensure that you have the appropriate permissions to access the MySQL server. Please check your MySQL user's permission settings to make sure you have appropriate access to the database you need to connect to.

The following is an example of granting a specific user all permissions to all databases:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

Please note that "username" and "password" in the above example should be replaced with the actual user name and password.

  1. Check the MySQL configuration file
    Sometimes, some settings in the MySQL configuration file may hinder the connection. Please check the settings in the MySQL configuration file (usually located at /etc/mysql/mysql.conf.d/mysqld.cnf or /etc/mysql/my.cnf) to make sure there are no misconfigurations or configurations that prevent connections.

The following is an example configuration to allow remote connections:

bind-address  = 0.0.0.0

Please make sure there are no other settings in your configuration file that are blocking connections.

  1. Testing the connection
    The final step in order to troubleshoot the problem is to try testing in code whether the connection is successful. The following is sample code using the Python programming language for testing MySQL connections:

    import mysql.connector
    
    try:
     connection = mysql.connector.connect(
         host="server_name",
         user="username",
         password="password",
         database="database_name"
     )
     if connection.is_connected():
         print("Connected to MySQL server")
         connection.close()
     else:
         print("Failed to connect to MySQL server")
    except mysql.connector.Error as error:
     print("Failed to connect to MySQL server: {}".format(error))

    Please make sure to replace "server_name", "username", "password" and "database_name" in the code with actual values. Run this code. If the connection is successful, "Connected to MySQL server" will be displayed, otherwise "Failed to connect to MySQL server" will be displayed.

Summary:
In the process of solving the MySQL error "Can't connect to MySQL server on 'server_name' (10061)", you need to first confirm whether the server name and port number are Correct, then check if the MySQL server is running and check the firewall settings and user permissions. Also, make sure that the MySQL configuration file does not have any configuration that blocks the connection. Finally, you can use test code to verify that the connection was successful. I hope the workarounds and sample code provided in this article will help you solve this problem.

The above is the detailed content of Can't connect to MySQL server on 'server_name' (10061) - How to solve the MySQL error: Unable to connect to the server, error number: 10061. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn