首页
站点统计
技术支持
友链
关于我
Search
1
CentOS7官方停止支持,yum源变更
229 阅读
2
苹果笔记本实现用户登录钉钉通知功能
219 阅读
3
麒麟操作系统安装达梦数据库DM8 V8版本
208 阅读
4
Ubuntu22.04配置vsftp服务
190 阅读
5
台式电脑DIY配置单之2024.06
186 阅读
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
网络互联
登录
Search
标签搜索
PHP
Linux
麒麟OS
Win11
电脑
Typecho
Mac OS
雪中悍刀行
Redis
Joe
windows
祝福
SHELL
Mysql
达梦数据库
阿里云
SSH
CentOS
域名转移
网络
清阳
累计撰写
37
篇文章
累计收到
13
条评论
首页
栏目
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
网络互联
页面
站点统计
技术支持
友链
关于我
搜索到
4
篇与
Linux
的结果
2025-02-09
记一次GCP云SQL数据库问题导致的线上故障
记一次GCP云SQL数据库问题导致的线上故障本文记录了一次由于GCP SQL云数据库异常导致的线上故障接到业务部门反馈数据库查询异常。运维小伙伴第一时间排查确认:1、登录运维系统检查监控日志发现一切正常。2、登录GCP web控制台查看SQL状态发现一切正常。3、登录服务器使用mysql命令行连接数据库进行查询检测发现有报错。如下:[game@server-1 ~]$ mysql -h 10.1.2.3 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1344693 Server version: 8.0.31-google Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 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 databases; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> use JobScheduleDb; No connection. Trying to reconnect... Connection id: 1344727 Current database: *** NONE *** ERROR 1184 (08S01): Aborted connection 1344727 to db: 'unconnected' user: 'root' host: '10.1.2.3' (init_connect command failed) mysql> select JobName from JobScheduleDb.JobScheduleLog limit 1; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> 总结一下:就是执行任何SQL查询语句均为异常。(也包括root用户)解决办法:在GCP控制台删除当前用户,然后重新创建新用户。再次测试,发现业务正常。联系GCP技术排查确认。GCP也没查到具体原因。事发时GCP后台出现过维护更新日志记录。具体原因扔在排查跟进中。导致的后果:由于常规监控正常,但是业务异常,并且没有相关业务监控,导致事发后过了好久才发现。产生了很不好的影响。完善解决方案1、加强数据库查询监控,监控系统读取数据异常时,及时告警通知人员介入处理。2、加强业务监控,业务不正常一定要及时告警出来。(业务监控也不能少)3、这种数据库运行正常,用户查询异常的情况一般很少遇到,总结本次经验教训,监控一定要足够完善,否则很容易被拉出来背锅。2025年3月1日更新经排查确认:可能跟init_connect 'SET NAMES utf8mb4 COLLATE utf8mb4_bin'这行配置有关,具体原因, 检查确认中 已确认,下文作了总结。查看mysql官网文档对于init_connect的解释:服务器将为每个连接的客户端执行的字符串。该字符串由一个或多个 SQL 语句组成,以分号字符分隔。 对于拥有 CONNECTION_ADMIN权限(或弃用SUPER 权限)的用户, 的内容 init_connect不会被执行。这样做是为了避免 的错误值 init_connect阻止所有客户端连接。例如, 值可能包含语法错误的语句,从而导致客户端连接失败。不执行 或 权限init_connect的用户可让他们打开连接并修复该 值。 CONNECTION_ADMINSUPERinit_connect init_connect对于任何密码已过期的客户端用户,将跳过执行。这样做是因为这样的用户无法执行任意语句,因此init_connect 执行失败,导致客户端无法连接。跳过init_connect 执行使用户能够连接并更改密码。 服务器将丢弃由 的值中的语句生成的任何结果集init_connect。解释一下就是 init_connect 设置了mysql用户连接数据库之后执行的第一条sql语句。但是以下两种情况例外:1、具有超级数据库管理权限的用户会跳过。(避免因为设置错误,连不上数据库,无法修改管理配置的情况)2、密码到期的客户端。(避免客户端密码到期后,连接不上无法修改密码。)经过反复修改测试,init_connect 如果设置为'SET NAMES utf8mb4 COLLATE utf8mb4_bin',即带 单引号的方式确实会影响普通用户连接数据库和查询,主要是影响连接后的第一条sql语句执行。 添加时 应为:init_connect = SET NAMES utf8mb4 COLLATE utf8mb4_bin去掉单引号。
2025年02月09日
31 阅读
0 评论
0 点赞
2024-12-29
CentOS7.9 python3 Can‘t connect to Https URL Because the SSL module is not available(已解决)
CentOS7.9 python3 Can‘t connect to Https URL Because the SSL module is not available(已解决)问题概览CentOS7.9编译安装Python3.10运行python脚本的时候报Can‘t connect to Https URL Because the SSL module is not available.当然,这个问题和python3 -c "import ssl" 报错是同一个问题经排查发现是系统openssl版本过低导致的。python3.10依赖的ssl 1.1.1以上的版本。{message type="success" content="注意:其实在编译python3过程中,会输出openssl版本过低的信息,只不过没有突出显示,不仔细查看,难以发现。"/}OK,发现问题之后,已经查明的原因,解决起来就容易多了。我们重新编译安装Openssl,升级系统的openssl版本到1.1.1以上即可解决。这里我们升级至 1.1.1w(openssl官网有更新的3.x ssl版本,但是我们服务器是centos7属于比较旧的版本,对 ssl 3.x兼容性有问题,所以先不用3.x的)编译安装Openssl#安装前先检查Openssl的版本 openssl version #OpenSSL 1.0.2k-fips 26 Jan 2017 yum install perl-core zlib-devel -y cd /usr/local/src wget -S “https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz” tar -zxvf openssl-1.1.1w.tar.gz cd openssl-1.1.1w ./config --prefix=/usr/local/openssl make && make install mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/local/openssl echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openss111w.conf #然后再次检查openssl版本 openssl version #OpenSSL 1.1.1w 11 Sep 2023 (Library: OpenSSL 1.1.1k FIPS 25 Mar 2021) #openssl的目录路径 openssl version -d 》》 OPENSSLDIR: "/usr/local/openssl/ssl"openssl升级完成编译安装python12yum install libffi-devel.x86_64 libdb-devel uuid-devel.x86_64 tk-devel.x86_64 zlib-static.x86_64 zlib-devel -y cd /usr/local/src/ wget https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tgz tar -zxvf Python-3.12.6.tgz cd Python-3.12.6 openssl version -d #这个命令找到openssl根目录 》》 OPENSSLDIR: "/usr/local/openssl/ssl" --with-openssl=参数填写这个路径 cd /usr/local/src/ cd Python-3.12.6 cat >> Modules/Setup<<EOF SSL="/usr/local/openssl" _ssl _ssl.c \ -DUSE_SSL -I"\$(SSL)"/include -I"\$(SSL)"/include/openssl \ -L"\$(SSL)"/lib -lssl -lcrypto EOF ./configure --prefix=/usr/local/python3.12 --with-openssl=/usr/local/openssl/ssl && make && make install测试/usr/local/python3.12 -r "import ssl" #不报错,则说明模块引入成功Python虚拟环境[root@centos-12 opt]# mkdir -p /var/www [root@centos-12 opt]# cd /var/www/ [root@centos-12 www]# ls [root@centos-12 www]# python3 -m venv myenv [root@centos-12 www]# ls myenv [root@centos-12 www]# source myenv/bin/activate (myenv) [root@centos-12 www]# (myenv) [root@centos-12 www]# python Python 3.12.8 (main, Dec 30 2024, 13:22:30) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ssl >>> (myenv) [root@centos-12 www]# deactivate [root@centos-12 www]# [root@centos-12 www]# python Python 2.7.5 (default, Nov 14 2023, 16:14:06) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> python虚拟环境总结python3 -m venv myenv ## 使用Python venv模块创建了 名为myenv,当前目录下会生成一个myvenv目录 source myenv/bin/activate ## 激活进入 myenv虚拟环境 deactivate ## 退出虚拟环境 /var/www/myenv/bin/python3 ## 使用绝对路径直接引用Python虚拟环境 /var/www/myenv/bin/pip ## 使用绝对环境直接引用 虚拟环境中的pip
2024年12月29日
42 阅读
0 评论
0 点赞
2024-11-23
查询某个IP下有哪些域名
查询某个IP下有哪些域名比如我有台服务器IP: 1.1.1.1部署了以下网站 a.web.comb.web.comdw.web.comez.web.com有什么办法在不知道有这些域名的情况下,确认到这些域名?方案可以使用: https://www.shodan.io,这个网站来查询。这里以: 1.1.1.1 为例:https://www.shodan.io/host/1.1.1.1查询结果如下:点击红框的地方能看到当前服务器下的域名:其中 红框为:域名,篮框为开的端口有哪些。点开红框中即可看到有哪些域名以及二级域名在用。方法2:另外使用这个网址也可以查询,并且更加直观,https://search.censys.io/hosts/https://search.censys.io/hosts/1.1.1.1 查询结果中Forward DNS 字段.就是我们要找的结果。
2024年11月23日
114 阅读
0 评论
0 点赞
2024-08-10
CentOS7官方停止支持,yum源变更
CentOS7官方停止支持,yum源变更由于 CentOS 7 在 2024 年 6 月 30 日停止支持,生命周期已结束(进入EOL)。因此,官方仓库已移至https://vault.centos.org。不再有更新现有CentOS 7.x系统在更新执行yum命令的时候会遇到报错,解决办法为修改 /etc/yum.repos.d/CentOS-Base.repo文件,内容如下,记得修改之前做备份[base] name=CentOS-$releasever - Base baseurl=https://vault.centos.org/7.9.2009/os/$basearch gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates baseurl=https://vault.centos.org/7.9.2009/updates/$basearch gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras baseurl=https://vault.centos.org/7.9.2009/extras/$basearch gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus baseurl=https://vault.centos.org/7.9.2009/centosplus/$basearch gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7然后执行yum makecache 即可。
2024年08月10日
229 阅读
9 评论
4 点赞