Immediate Fix: Update Your MySQL Configuration
MySQL Error 2006 (“MySQL server has gone away”) on WiFi is usually caused by momentary signal drops or high latency. The fastest way to fix this is to increase the timeout and packet size limits in your server configuration.
Locate your my.cnf (Linux) or my.ini (Windows) file and apply the following changes under the [mysqld] section:
| Setting | Recommended Value | Description |
|---|---|---|
| wait_timeout | 28800 | Prevents the server from closing idle connections too quickly. |
| interactive_timeout | 28800 | Extends the time allowed for interactive shell sessions. |
| max_allowed_packet | 64M | Allows larger data transfers that might lag over WiFi. |
After editing the file, restart your MySQL service to apply the changes:
# For Ubuntu/Debian
sudo systemctl restart mysql
# For CentOS/RHEL
sudo systemctl restart mysqld
Technical Explanation: Why WiFi Triggers Error 2006
When you use a wireless connection, packet loss is significantly higher than on a wired Ethernet connection. MySQL is highly sensitive to network interruptions.
The “MySQL server has gone away” error occurs because the server thinks the client has disconnected during a brief WiFi signal dip. If a packet is lost while the server is waiting for a request, it may close the socket to save resources.
Another common cause is the “TCP Keepalive” setting. WiFi routers often have aggressive power-saving features that drop idle TCP connections. If your MySQL client stays idle for a few seconds during a signal transition, the router kills the path between the client and server.

Alternative Methods to Stabilize Connections
1. Use an SSH Tunnel
If your WiFi is consistently unstable, wrap your MySQL traffic in an SSH tunnel. SSH is generally better at handling “retransmits” than a raw MySQL connection. This creates a local bridge that stays active even if the WiFi flickers.
ssh -L 3307:localhost:3306 user@your-remote-server
2. Adjust Client-Side Keep-Alives
You can force your MySQL client to send “heartbeat” packets to keep the WiFi connection active. If you are using a tool like MySQL Workbench or DBeaver, look for “Keep-Alive Interval” in the connection settings and set it to 60 seconds.
3. Use Connection Pooling
For developers, implementing a connection pool with a “test-on-borrow” strategy helps. This ensures that the application checks if the connection is still alive before trying to run a query, automatically reconnecting if the WiFi dropped the previous session.