尝试简单连接到我的服务器MySQL数据库,我得到了
Warning: mysqli_connect(): (HY000/2003): Can't connect to MySQL server on '<host>' (113)
netstat -tulpen有一个:3306记录
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 999 801279 32067/mysqld
我在my.cnf中的绑定地址设置为0.0.0.0
,我仍然无法连接到数据库。
我的MySQL用户
+------------------+------------------------+
| User | Host |
+------------------+------------------------+
| root | 127.0.0.1 |
| root | localhost |
| root | <ip> |
+------------------+------------------------+
我可以从服务器内部连接。
我失踪了什么?
提前谢谢
答案 0 :(得分:7)
113错误显示&#34;没有主机路由&#34; error.you必须在两台机器上配置你的IP地址 当然,它必须是可路由的。但是,它不会工作。
答案 1 :(得分:0)
在您的具体情况下,有两种选择。最可能的是您的防火墙仍在阻止该端口,因此外部无法访问。另一种选择,也是一种更奇怪的问题。默认情况下,MySQL不允许管理员用户在内部和外部登录。您需要为此身份定义一个主机和用户对,以允许除&#34; localhost&#34;之外的其他地方。从。登录。
首先,登录mysql服务器,然后登录mysql服务。
root# mysql -u root -p
接下来,打开名为&#34; mysql&#34;的数据库。并查看您感兴趣的用户。我的例子是我的&#34; root&#34;用户。
mysql> use mysql;
mysql> select * from user where User="root";
+-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections |
+-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| localhost | root | *A86DD7ED2F8269DFFDC595311DF5FF08872C12AB | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
| kickseed | root | *A86DD7ED2F8269DFFDC595311DF5FF08872C12AB | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
| 127.0.0.1 | root | *A86DD7ED2F8269DFFDC595311DF5FF08872C12AB | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
| 10.%.%.% | root | *A86DD7ED2F8269DFFDC595311DF5FF08872C12AB | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
正如您所看到的,我有四个单独的root条目:一个用于本地,一个用于环回,一个用于服务器kickseed,一个用于开发网络。您需要像创建新用户一样完成创建和授予步骤,并相应地设置权限。