Tối ưu kết nối database WordPress bằng Unix Domain Socket (mysql.sock)
Sơ đồ trang
Mặc định, WordPress kết nối đến MariaDB/MySQL thông qua TCP/IP — cụ thể là localhost (tức là 127.0.0.1, port 3306). Tuy nhiên, nếu web server (PHP-FPM/LSPHP) và MySQL chạy cùng một máy, ta có thể sử dụng Unix Domain Socket để thay thế.
👉 Lợi ích:
- Tăng tốc kết nối database (bỏ qua giao thức TCP/IP).
- Giảm độ trễ và overhead mạng nội bộ.
- Bảo mật hơn (chỉ process nội bộ mới truy cập được).
- Không cần mở port 3306 ra ngoài.
⚙️ 1. Kiểm tra đường dẫn socket MySQL hiện tại
Tuỳ theo hệ điều hành hoặc bản cài đặt, socket có thể nằm ở các vị trí khác nhau.
Chạy lệnh sau để tìm chính xác đường dẫn:
mysqladmin variables | grep socket
Kết quả ví dụ:
| socket | /run/mysqld/mysqld.sock |
Nếu không có mysqladmin, bạn cũng có thể chạy:
Bài viết liên quan
sudo netstat -ln | grep mysql
hoặc kiểm tra file cấu hình:
grep socket /etc/my.cnf /etc/mysql/my.cnf /etc/my.cnf.d/* /etc/mysql/mysql.conf.d/* 2>/dev/null
Một số vị trí phổ biến:
| Hệ thống | Đường dẫn socket |
|---|---|
| Ubuntu / Debian | /run/mysqld/mysqld.sock |
| CentOS / AlmaLinux / Rocky | /var/lib/mysql/mysql.sock |
| FastPanel | /var/lib/mysql/mysql.sock |
| CyberPanel | /tmp/mysql.sock |
🧩 2. Cập nhật file wp-config.php
Mở file wp-config.php của website WordPress và tìm dòng:
define( 'DB_HOST', 'localhost' );
Sau đó thay bằng đường dẫn socket tương ứng:
define( 'DB_HOST', 'localhost:/run/mysqld/mysqld.sock' );
💡 Lưu ý:
- Giữ lại phần
localhost:trước socket để PHP hiểu là local socket chứ không phải IP. - Nếu dùng sai đường dẫn, WordPress sẽ báo lỗi:
Error establishing a database connection
🔍 3. Kiểm tra kết nối thử
Chạy lệnh PHP đơn giản để xác minh socket hoạt động:
php -r "mysqli_connect('localhost:/run/mysqld/mysqld.sock', 'user_db', 'pass_db', 'db_name') or die(mysqli_connect_error()); echo '✅ Socket OK';"
Nếu in ra “✅ Socket OK”, nghĩa là kết nối qua socket thành công.
🚀 Kết luận
Sử dụng Unix Domain Socket là bước tối ưu đơn giản nhưng hiệu quả cao để tăng tốc kết nối giữa PHP và MySQL trên cùng máy chủ.
Khi kết hợp với Redis Object Cache và PHP-FPM sẽ giúp WordPress tối ưu hơn và có thể giảm độ trễ truy vấn database từ 3–5ms xuống dưới 1ms.
🔧 Tóm tắt nhanh
| Mục tiêu | Lệnh / Cấu hình |
|---|---|
| Kiểm tra socket | `mysqladmin variables |
| Thay trong wp-config.php | define( 'DB_HOST', 'localhost:/run/mysqld/mysqld.sock' ); |
| Kiểm tra kết nối PHP | php -r "mysqli_connect(...)" |
Như trên việc kết nối sẽ nhanh hơn đáng kể so với dùng cách thức bình thường rồi đấy.
Cảm ơn bạn đã truy cập Vũ Trụ Số, nếu có thắc mắc gì vui lòng live chat với chúng tôi để được hỗ trợ.