如果开启了 skip-networking配置查询为on,那么你的mysql远程连接不了,你的mysql状态可能是正常的但是你的监听端口是没有的。
您可以查看您的mysql端口,但是不出意外的话端口为 0
show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 0 |
+---------------+-------+
1 row in set (0.00 sec)
查看配置文件发现客户配置了 skip_networking
变量。该配置会导致数据库无法通过 TCP/IP 进行连接。
mysql> show variables like '%networking%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | ON |
+-----------------+-------+
1 row in set (0.00 sec)
[root@root-3 ~]# grep skip /opt/mysql/etc/8888/my.cnf
skip_external_locking = 1
skip_name_resolve = 1
skip_replica_start = 1
skip_networking=on
解决方法是 把 skip_networking=off
mysql> show variables like '%networking%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | OFF |
+-----------------+-------+
1 row in set (0.00 sec)
skip_networking
控制 MySQL 服务是否允许 TCP/IP 连接,默认是关闭。如果开启这个变量,MySQL 服务只允许本地连接,不允许任何 TCP/IP 连接。
需要注意的是当配置了 --skip-grant-tables
变量之后,skip_networking
变量默认也会开启,此时禁用任何远程连接。
skip_networking
变量需要根据业务情况来进行配置,对于只允许本地访问的系统来说,强烈建议配置该变量;对于大部分需要远程访问的数据库是不需要进行配置的,保持默认关闭就可以。这个变量不能动态修改,需要修改配置文件,然后重启数据库服务。
这种问题多会出现在MyPHPAdmin使用宝塔安装的mysql。烦人!!!!