Tối ưu kết nối database WordPress bằng Unix Domain Socket (mysql.sock)

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:

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 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ợ.

4.9/5 - (28 votes)

Nếu bạn thấy bài viết có ích bạn có thể chia sẻ bài viết này. Yêu cầu thêm bài viết tại đây
Đã copy
vutruso

Vũ Trụ Số chuyên cung cấp hosting cho WordPress, dịch vụ thiết kế website, quản trị website cho doanh nghiệp, các dịch vụ bảo mật website WordPress, tăng tốc website WordPress

Bài viết liên quan