python定制脚本安装mysql socket文件存在无法连接

自己定制一个python脚本可以一键安装mysql实例,

遇到mysql socket文件已经创建成功但是无法通过socket文件进行连接

报错原因

python 复制代码
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/storage/mysql3310/mysql3310.sock' (2)

程序需要停歇几秒通过socket连接才能成功

通过观察日志socket文件生成日期比较早

powershell 复制代码
2024-10-17 15:59:40,953 - ssh_client - WARNING - will exit host
ssh 192.168.56.102 ps -ef|grep mysql|grep 3310
0 root      8705     1  0 15:59 ?        00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3310.cnf
root      8989  8705  0 15:59 ?        00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my3310.cnf --basedir=/usr/local/mysql --datadir=/storage/mysql3310 --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=error.log --pid-file=mysql02.pid --socket=/storage/mysql3310/mysql3310.sock --port=3310
ssh 192.168.56.102 ps -ef|grep mysql|grep 3310|wc -l
2024-10-17 15:59:41,338 - __main__ - INFO - mysql 3310 is started,next step is reset root password

mysql启动日志中显示可以连接时间比较晚

powershell 复制代码
2024-10-17T15:59:41.349054+08:00 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be remo
ved in a future release. Please use binlog_expire_logs_seconds instead.
2024-10-17T15:59:41.349145+08:00 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.22) starting as proce
ss 8989
2024-10-17T15:59:41.355519+08:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-10-17T15:59:41.899082+08:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-10-17T15:59:42.049942+08:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 3306
0, socket: /tmp/mysqlx.sock
2024-10-17T15:59:42.291311+08:00 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2024-10-17T15:59:42.291481+08:00 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted conne
ctions are now supported for this channel.
2024-10-17T15:59:42.313666+08:00 0 [System] [MY-010931] [Server] /usr/local/mysql/bin/mysqld: ready for connections. Version: 
'8.0.22'  socket: '/storage/mysql3310/mysql3310.sock'  port: 3310  MySQL Community Server - GPL.

所以mysql启动之后如果通过程序立即连接是可能出现通过socket无法连接情况出现

相关推荐
0xDevNull4 小时前
MySQL数据冷热分离详解
后端·mysql
A__tao4 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢4 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
一江寒逸4 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain4 小时前
linux个人心得22 (mysql)
数据库·mysql
迷藏4944 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨5 小时前
python扫码登录dy
开发语言·python
bazhange5 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
做个文艺程序员5 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
人工干智能5 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python