我遇到了一个问题。当我将 MariaDB 从主服务器拆分到另一台服务器时(我的数据库服务器正在从最新标签运行 MariaDB docker),我收到一个错误:
写入通信数据包时出错
我有 2 台服务器,一台是 Web 服务器(无数据库),另一台是 ubuntu 20.04,配备 4GB RAM 和 4 核(每核 2gh)
端口是开放的,我的PING小于1ms。
我尝试使用基本的 WP 站点 DB,连接正常,没有问题,但我的数据库大约有 1GB,我猜这导致了这个问题。
我也尝试通过专用网络(192.168.100.25
)而不是公共 IP 进行连接,但问题是一样的。
这是我的 MariaDB 日志
中止与数据库“wpdb”的连接 3 用户“root”主机“myip”(读取通信数据包时出错)
中止与数据库“wpdb”的连接 5:用户“root”主机“myip”(写入通信数据包时出错)
我还编辑了 MariaDB 配置:
- 将 max_allowed_packet 增加到 1GB
- 将 net_buffer_length 增加至 1000000
但什么都没改变!
这是 mariadb 变量: https://pastebin.ubuntu.com/p/yHFRh7CnVC/
显示全球状态: https://pastebin.pl/view/b3db2b91
显示进程列表:
8,root,31.56.66.249:60612,,查询,0,开始,显示完整进程列表,0
服务器根目录上的 ulimit:
ubuntu@rangoabzar:~$ ulimit -a
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15608
max locked memory (kbytes, -l) 65536
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 15608
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Docker 容器中的 ulimit:
root@63aa95764534:/# ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15608
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1048576
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited