GreatSQL社区

搜索

[讨论中] 数据库重启后,Greatsql shell也必须重启才能连接

220 4 7 天前
我的环境中,greatsql数据库和greatsql shell都是docker安装的,其中greatsql shell是按照这个文档安装的:通过unix socket方式连接GreatSQL


使用过程中,我发现每次greatsql容器重启之后,greatsql shell就没法通过socket连接数据库了,会报如下错误:
  1. MySQL Error 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
复制代码
必须重启容器后才能恢复正常。

想咨询下这个是正常现象吗?有什么方法可以不需要重启容器就能重连数据库吗?
全部回复(4)
yejr 7 天前
下次先执行 \reconnect 命令重连试试看,例如


  1. MySQL  192.168.x.x:3306 ssl  JS > \reconnect
  2. Attempting to reconnect to 'mysql://GreatSQL@192.168.x.x:3306'..
  3. The global session was successfully reconnected.
复制代码
zkycaesar 7 天前
yejr 发表于 2025-3-24 15:50
下次先执行 \reconnect 命令重连试试看,例如
  1. [root@localhost ~]# docker exec -it greatsqlsh mysqlsh -S/tmp/mysql.sock -p123456
  2. MySQL Shell 8.0.32

  3. Copyright (c) 2016, 2023, Oracle and/or its affiliates.
  4. Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
  5. Other names may be trademarks of their respective owners.

  6. Type '\help' or '\?' for help; '\quit' to exit.
  7. WARNING: Using a password on the command line interface can be insecure.
  8. Creating a session to 'root@/tmp%2Fmysql.sock'
  9. MySQL Error 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
复制代码

现在是已经不在shell里面了,是想重新进入shell进不去了。
yejr 7 天前
zkycaesar 发表于 2025-3-24 17:05
现在是已经不在shell里面了,是想重新进入shell进不去了。

GreatSQL数据库已经运行在容器中,把socket文件映射到宿主,然后再映射到GreatSQL Shell容器中,是这样吗?

有可能是GreatSQL容器重启后,文件句柄发生变化了,导致后者也跟着失效。

可以观察下文件句柄是否发生变化。用 stat 查看,例如

  1. stat README.md
  2.   File: README.md
  3.   Size: 22566           Blocks: 48         IO Block: 4096   regular file
  4. Device: fd02h/64770d    Inode: 541683891   Links: 1
  5. Access: (0644/-rw-r--r--)  Uid: ( 1235/    yejr)   Gid: (  100/   users)
  6. Access: 2025-03-21 21:05:38.877631708 +0800
  7. Modify: 2025-03-11 15:44:19.692146711 +0800
  8. Change: 2025-03-11 15:44:19.692146711 +0800
  9. Birth: -
复制代码
reddey 5 天前
yejr 发表于 2025-3-24 17:10
GreatSQL数据库已经运行在容器中,把socket文件映射到宿主,然后再映射到GreatSQL Shell容器中,是这样吗 ...

叶老师的分析有道理
一个学艺不精的国产数据库爱好者
zkycaesar

2

主题

0

博客

11

贡献

新手上路

Rank: 1

积分
17

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2025-3-31 06:45 , Processed in 0.020850 second(s), 15 queries , Redis On.
快速回复 返回顶部 返回列表