Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >故障分析 | 业务连不上数据库了?小心你的 skip-networking 配置

故障分析 | 业务连不上数据库了?小心你的 skip-networking 配置

作者头像
爱可生开源社区
发布于 2023-12-14 04:47:35
发布于 2023-12-14 04:47:35
44100
代码可运行
举报
运行总次数:0
代码可运行

作者:张昊,DBA,主要负责 MySQL 故障处理、DMP 产品支持,擅长 MySQL,喜欢打球~唱歌~

爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

本文约 600 字,预计阅读需要 2 分钟。

1背景

某客户的测试同事本地部署 MySQL 8.0 数据库,配置文件增加部分变量重启数据库之后发现数据库远程连接失败。

2排查

1 查看数据库进程状态

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hao-3 ~]# ps -ef|grep mysqld |grep 8888
actiont+ 25825     1  0 02:10 ?        00:00:01 /opt/mysql/base/8.0.28/bin/mysqld --defaults-file=/opt/mysql/etc/8888/my.cnf --daemonize --pid-file=/opt/mysql/data/8888/mysqld.pid --user=actiontech-mysql --socket=/opt/mysql/data/8888/mysqld.sock --port=8888

2 查看服务 TCP 连接情况

使用 netstat 命令查看数据库服务TCP 连接情况,输出结果为空。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hao-3 ~]# ps -ef|grep mysqld|grep 8888
actiont+ 25825     1  0 02:10 ?        00:00:05 /opt/mysql/base/8.0.28/bin/mysqld --defaults-file=/opt/mysql/etc/8888/my.cnf --daemonize --pid-file=/opt/mysql/data/8888/mysqld.pid --user=actiontech-mysql --socket=/opt/mysql/data/8888/mysqld.sock --port=8888
[root@hao-3 ~]# netstat  -lantup |grep 25825       //查看进程
[root@hao-3 ~]#
[root@hao-3 ~]# netstat  -lantup |grep 8888        //查看端口
[root@hao-3 ~]#

3 查看数据库端口

查看数据库端口,结果为 0!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hao-3 ~]# /opt/mysql/base/8.0.28/bin/mysql -uroot -p1 -S /opt/mysql/data/8888/mysqld.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.28 MySQL Community Server - GPL
 
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 0     |
+---------------+-------+
1 row in set (0.00 sec)

4 查看配置文件

发现客户配置了 skip_networking 变量。该配置会导致数据库无法通过 TCP/IP 进行连接。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> show variables like '%networking%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| skip_networking | ON    |
+-----------------+-------+
1 row in set (0.00 sec)
 
 
[root@hao-3 ~]# grep skip /opt/mysql/etc/8888/my.cnf
skip_external_locking = 1
skip_name_resolve = 1
skip_replica_start = 1
skip_networking=on           

5 官方文档解释

skip_networking 控制 MySQL 服务是否允许 TCP/IP 连接,默认是关闭。如果开启这个变量,MySQL 服务只允许本地连接,不允许任何 TCP/IP 连接。

需要注意的是当配置了 --skip-grant-tables 变量之后,skip_networking 变量默认也会开启,此时禁用任何远程连接。

官方手册说明

3结论

skip_networking 变量需要根据业务情况来进行配置,对于只允许本地访问的 MySQL 数据库系统来说,强烈建议配置该变量;对于大部分需要远程访问的数据库是不需要进行配置的,保持默认关闭就可以。这个变量不能动态修改,需要修改配置文件,然后重启数据库服务。

本文关键字:#MySQL# #配置# #TCP/IP#

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爱可生开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
故障分析 | 配置文件添加参数后数据库起不来了?
客户要将数据库数据迁移到 DMP[1] 平台上,需要根据源库的配置修改相应参数(例:lower_case_table_names=0),但发现在配置文件添加好参数后数据库起不来了。
爱可生开源社区
2023/11/02
2350
故障分析 | 配置文件添加参数后数据库起不来了?
故障分析 | MySQL 无监听端口故障排查
最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。
爱可生开源社区
2022/09/08
9930
MySQL root密码忘记,原来还有更优雅的解法!
一直以来,对于MySQL root密码的忘记,以为只有一种解法-skip-grant-tables。
星哥玩云
2022/08/16
3410
docker-mysql8.0踩坑敏感问题
数据库是有这个表的,但是项目使用的时候,就出现了这样的问题,因为编码中大写,导致请求到mysql找不到!
Joseph_青椒
2023/08/02
7760
docker-mysql8.0踩坑敏感问题
故障分析 | xtrabackup 多表备份报错“ too many open files ”
最近使用 xtrabackup 工具对 mysql 实例进行备份时,由于实例的 ibd 文件过多,而备份用户 的 open files 参数设置的值太小,在备份实例时打开的文件数量超过了备份用户允许打开的文件 数量限制,导致备份失败,其报错如下:
爱可生开源社区
2022/08/17
8520
故障分析 | MySQL 无监听端口故障排查
作者:王向 爱可生 DBA 团队成员,负责公司 DMP 产品的运维和客户 MySQL 问题的处理。擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 ---- 前言 最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。 故障现场 防火墙什么的均正常但是无法被远程访问到。简单的使用客户端登录了一下。 ERROR 2003 (HY000): Can't con
jeanron100
2022/09/14
2.4K1
故障分析 | MySQL 无监听端口故障排查
Docker 安装 MySQL8 数据库
程序员NEO
2023/10/12
1.9K0
第三章·MySQL版本区别及管理
*.* [当前MySQL实例中所有库下的所有表] wordpress.* [当前MySQL实例中wordpress库中所有表(单库级别)] wordpress.user [当前MySQL实例中wordpress库中的user表(单表级别)]
DriverZeng
2022/09/26
3540
第三章·MySQL版本区别及管理
MySQL体系结构及多实例
MySQL客户端和服务器端模型 MySQL是一个典型C/S,服务器端与客户端两部分组成 服务器端程序  mysqld mysql自带的客户端(mysql mysqladmin  mysqldump等),API接口(php-mysql) 连接方式 通过网络连接串,TCP/IP:(用户名;密码;IP;port) mysql -uroot -p123 -h 10.0.0.52 -P 3306 通过套接字文件,SOCKET:(用户名;密码;Socket路径) mysql -uroot -p123 -S /appli
863987322
2018/03/29
1.7K0
MySQL体系结构及多实例
MySQL无监听端口的一个场景
这两天配合解决一个GreatDB端口的问题,碰巧看到爱可生开源社区的这篇文章《故障分析 | MySQL 无监听端口故障排查》,同样介绍了一个MySQL数据库端口的问题,问题不是很复杂,但这个场景,确实很少碰到,可以加到自己的案例库中。
bisal
2022/10/04
8170
MySQL无监听端口的一个场景
Centos7安装MySQL8.0 - 操作手册
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!
洗尽了浮华
2019/05/25
1.9K1
技术分享 | MGR 单主模式组内滚动升级
爱可生 DBA 团队成员,主要负责 MySQL 故障处理和 SQL 审核优化。对技术执着,为客户负责。
爱可生开源社区
2021/11/01
5720
技术分享 | MGR 单主模式组内滚动升级
故障分析 | 数据库表空间被 rm 后,怎么处理
爱可生 DBA 团队成员,负责项目中数据库故障与平台问题解决,对数据库高可用与分布式技术情有独钟。
爱可生开源社区
2021/07/16
8180
故障分析 | 是谁偷走了我的 IO
爱可生DBA团队成员,主要负责MySQL和DMP平台日常的维持工作,对数据库自动化运维存有浓厚兴趣。
爱可生开源社区
2022/05/23
7110
统信 uos-server-20-1060e 二进制部署 MySQL 8.0.36
https://www.chinauos.com/resource/download-server
Kevin song
2024/02/22
2.1K1
统信 uos-server-20-1060e  二进制部署 MySQL 8.0.36
数据库中间件Mycat的安装使用
后端:可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里
仙人技术
2021/08/31
1K0
数据库中间件Mycat的安装使用
零基础安装MySQL 5.7数据库
官网MySQL有四个版本:GA版、DMR版、RC版、Beta版。一般生产和测试环境使用GA版(常规可用的版本,经过bug修复测试)
SEian.G
2021/03/03
3060
故障分析 | MySQL 管理端口登录异常排查及正确使用技巧
爱可生DBA 团队成员,主要负责 DMP 平台和 MySQL 数据库的日常运维及故障处理。
爱可生开源社区
2023/08/18
3630
故障分析 | MySQL 管理端口登录异常排查及正确使用技巧
MySQL数据库入门——多实例配置
前面介绍了相关的基础命令操作,所有的操作都是基于单实例的,mysql多实例在实际生产环境也是非常实用的,因为必须要掌握
民工哥
2020/09/16
4.3K0
Mysql报错合集--链接报错(下)
一种情况 mysql没启动 第二种 mysql连接默认为必须sock登陆,所以登陆需要添加–socket=xxx,或者更改/etc/my.cnf
陈不成i
2021/06/16
1.5K0
推荐阅读
相关推荐
故障分析 | 配置文件添加参数后数据库起不来了?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验