Hướng dẫn Remote database cho WordPress trên VPS/server sử dụng máy chủ từ xa.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thiết lập và sử dụng một cơ sở dữ liệu từ xa trên máy chủ VPS hoặc server cho WordPress. Việc sử dụng database từ xa sẽ cho phép bạn lưu trữ dữ liệu của trang web WordPress của mình trên một máy chủ riêng biệt, giúp tăng cường hiệu suất và bảo mật.

Đầu tiên, bạn cần xác nhận rằng máy chủ VPS của bạn đã cài đặt và cấu hình MySQL hoặc MariaDB. Nếu chưa, bạn có thể cài đặt chúng bằng cách thực hiện các bước sau đây:

1. Đăng nhập vào máy chủ VPS của bạn sử dụng SSH hoặc giao diện dòng lệnh.
2. Cài đặt MySQL Server bằng cách chạy lệnh sau:
“`
sudo apt-get install mysql-server
“`
3. Trong quá trình cài đặt, bạn sẽ được hỏi về mật khẩu cho tài khoản root của MySQL. Hãy nhớ mật khẩu này vì bạn sẽ cần nó để đăng nhập vào cơ sở dữ liệu.
4. Kiểm tra xem MySQL đã được cài đặt thành công bằng cách chạy lệnh sau:
“`
sudo systemctl status mysql
“`

Tiếp theo, chúng ta sẽ cấu hình các phần mềm WordPress để kết nối và sử dụng database từ xa.

1. Đăng nhập vào trang quản trị WordPress của bạn.
2. Truy cập vào trang “wp-config.php” trong thư mục gốc của WordPress.
3. Tìm các dòng sau đây trong file “wp-config.php”:
“`
define(‘DB_NAME’, ‘database_name_here’);
define(‘DB_USER’, ‘username_here’);
define(‘DB_PASSWORD’, ‘password_here’);
define(‘DB_HOST’, ‘localhost’);
“`
4. Thay đổi các thông số sau:
– DB_NAME: Tên của cơ sở dữ liệu bạn đã tạo trên máy chủ VPS.
– DB_USER: Tên người dùng của cơ sở dữ liệu.
– DB_PASSWORD: Mật khẩu của người dùng cơ sở dữ liệu.
– DB_HOST: Địa chỉ IP hoặc tên miền của máy chủ VPS.

5. Lưu lại thay đổi và tải file “wp-config.php” lên máy chủ của bạn.

Cuối cùng, chúng ta sẽ tạo một tài khoản người dùng trên máy chủ VPS để kết nối và truy cập vào cơ sở dữ liệu từ xa.

1. Truy cập vào máy chủ VPS của bạn sử dụng SSH hoặc giao diện dòng lệnh.
2. Mở terminal và chạy lệnh sau để đăng nhập vào MySQL:
“`
mysql -u root -p
“`
3. Nhập mật khẩu root của MySQL khi được yêu cầu.
4. Tạo một người dùng mới bằng cách chạy lệnh sau:
“`
CREATE USER ‘remoteuser’@’%’ IDENTIFIED BY ‘password’;
“`
– ‘remoteuser’: Tài khoản người dùng mà bạn muốn tạo.
– ‘%’: Cho phép người dùng truy cập từ bất kỳ địa chỉ IP nào.
– ‘password’: Mật khẩu cho người dùng mới.

5. Cấp quyền truy cập cho người dùng vào cơ sở dữ liệu bằng cách chạy lệnh sau:
“`
GRANT ALL PRIVILEGES ON database_name.* TO ‘remoteuser’@’%’;
“`
– ‘database_name’: Tên cơ sở dữ liệu trên máy chủ VPS.

6. Lưu lại các thay đổi và thoát khỏi MySQL bằng cách chạy lệnh sau:
“`
FLUSH PRIVILEGES;
EXIT;
“`

Đến đây, bạn đã hoàn thành hướng dẫn về cách thiết lập và sử dụng một cơ sở dữ liệu từ xa trên máy chủ VPS hoặc server cho WordPress. Bằng cách sử dụng database từ xa, bạn có thể đạt được hiệu suất tốt hơn và bảo mật cao hơn cho trang web WordPress của mình.

Khi đã đạt đến giới hạn tài nguyên, cần tách máy chủ web và database thành hai máy chủ riêng.

remote-database
remote-database

Tại sao phải dùng cơ sở dữ liệu từ xa?

Khi tài nguyên máy chủ bị giới hạn, chia cắt database và webserver riêng.

Cơ sở dữ liệu từ xa nhanh hơn mô hình all-in-one không?

Khi sử dụng remote database trên hai máy chủ khác nhau, tốc độ sẽ chậm hơn so với mô hình tất cả trong 1. Giao thức unix socket luôn nhanh hơn giao thức TCP khoảng 17% và an toàn hơn về bảo mật.

Nếu website chưa đạt đến giới hạn máy chủ, bạn không cần triển khai remote database để tránh làm chậm website và tăng rủi ro bảo mật. Nếu máy chủ database gặp sự cố, website sẽ bị ảnh hưởng và ngược lại, nếu máy chủ webserver gặp sự cố, dù máy chủ database hoạt động, website cũng sẽ bị ảnh hưởng.

Remote để lấy dữ liệu hoặc điều khiển từ xa có thể triển khai bằng các phần mềm như mysql workbench, Navicat. Wptangtoc ols cũng hỗ trợ nhu cầu này để đảm bảo an toàn và bảo mật.

Bài viết này nhấn mạnh vào việc cần thiết của việc sử dụng máy chủ riêng cho cả database và webserver.

Tài nguyên để hướng dẫn

Liên kết mạng lan hiệu quả hơn và an toàn hơn mạng public ip với tốc độ và ổn định cao. Triển khai qua mạng lan không đòi hỏi cài đặt SSL và giảm thiểu trục trặc kết nối.

Sử dụng mạng LAN đồng nghĩa với việc bạn cần thuê 2 VPS gần nhau. Nếu bạn đặt máy chủ cơ sở dữ liệu ở Mỹ và máy chủ web ở Việt Nam và kết nối qua địa chỉ IP công khai, thì hiệu suất sẽ rất kém và không ổn định do khoảng cách kết nối quá xa.

Các hãng VPS lớn như Google Cloud, Vutrl, linode, DigitalOcean, Microsoft Azure đều hỗ trợ kết nối qua mạng LAN riêng tư. Kết nối này giúp tăng hiệu suất và độ ổn định, bởi vì không sử dụng băng thông công cộng có giới hạn, mà thay vào đó sử dụng mạng LAN với băng thông không giới hạn.

  • 1 máy chủ làm webserver IP thị phạm ví dụ: 192.168.0.1 – hệ điều hành linux centos 7 được rebuild mới trắng hoàn toàn
  • 1 máy chủ database IP thị phạm ví dụ: 192.168.0.2 – hệ điều hành linux centos 7 được rebuild mới trắng hoàn toàn

Cài đặt MariaDB Server để thiết lập máy chủ cơ sở dữ liệu.

Kết nối tài khoản root ssh vào máy chủ database, ví dụ 192.168.0.2.

Bạn paste các lệnh này vào terminal

echo '[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1' > /etc/yum.repos.d/MariaDB.repo
yum install mariadb-server -y
systemctl start mariadb.service
systemctl enable mariadb.service

Bạn đã cài đặt xong MariaDB 10.5. Tuy nhiên, hãy thiết lập mật khẩu để tăng cường bảo mật cho máy chủ cơ sở dữ liệu.

mysql_secure_installation

Phát đầu tiên yêu cầu nhập lại mật khẩu cũ, nhưng bạn có thể bỏ trống và ấn Enter.

Vui lòng nhập mật khẩu dài hơn 26 kí tự.

Khởi động lại MariaDB để xác nhận.

systemctl restart mariadb.service

Sau khi cài Maria Database cho máy chủ database.

đến bước thiết lập

Cho phép kết nối vào cơ sở dữ liệu

Hãy chỉnh sửa file: /etc/my.cnf.d/server.cnf (25%).

bind-address = 192.168.0.2

192.168.0.2 là địa chỉ IP máy chủ database, hãy thay bằng đúng địa chỉ IP máy chủ database của bạn. Sử dụng private IP LAN nếu có thể để bảo mật và tăng tốc độ, nếu không thì sử dụng public IP.

sudo systemctl restart mysql

Nếu bạn đang sử dụng tường lửa, hãy mở cổng 3306.

firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload

Tạo cơ sở dữ liệu và người dùng cơ sở dữ liệu.

Tạo database và tài khoản database

Ví dụ mình cần tạo tên và tên người dùng database:

  • Database name là giatuanwp
  • username là giatuanuser
  • password là giatuanpass

Sử dụng lệnh để truy cập vào quản trị database.

mysql -u root -p'giatuanpasswordmysql'
CREATE DATABASE giatuanwp;
CREATE USER 'giatuanuser'@'localhost' IDENTIFIED BY 'giatuanpass';
GRANT ALL PRIVILEGES ON giatuanwp.* TO 'giatuanuser'@'localhost';
CREATE USER 'giatuanuser'@'192.168.0.1' IDENTIFIED BY 'giatuanpass';
GRANT ALL PRIVILEGES ON giatuanwp.* TO 'giatuanuser'@'192.168.0.1';
FLUSH PRIVILEGES;
exit

Hãy thay IP của máy chủ webserver của bạn vào dòng 192.168.0.1 và thay tài khoản, mật khẩu của cơ sở dữ liệu mong muốn.

Bây giờ bạn có thể chuyển dữ liệu database từ máy chủ cũ vào máy chủ mới bằng cách xuất file database từ máy chủ cũ và tải lên máy chủ mới sau đó khôi phục.

Sử dụng lệnh sau để khôi phục file giatuan123.sql vào máy chủ database:

mysql -u giatuanuser -p'giatuanpass' giatuanwp 

Máy chủ database đã được hoàn tất thiết lập.

Đến lúc cấu hình webserver.

Thiết lập máy chủ webserver

Sử dụng wptangtoc ols để tự động thiết lập webserver từ đầu đến cuối một cách đơn giản.

curl -sO https://wptangtoc.com/share/wptangtoc-ols && bash wptangtoc-ols

Hãy tham khảo WPTangToc OLS để cài đặt và quản lý webserver.

Bạn có thể tự cài đặt webserver theo nhu cầu của mình hoặc sử dụng một script webserver phù hợp. Mình khuyến nghị sử dụng wptangtoc ols, một công cụ mà mình đã phát triển.

Để kết nối với máy chủ webserver, cần có mariadb-client và php-mysql. wptangtoc ols đều có sẵn hai thứ này.

Truy cập mã nguồn WordPress của bạn và chỉnh sửa file wp-config.php để kết nối database.

/** The name of the database for WordPress */
define('DB_NAME', 'giatuanwp');

/** MySQL database username */
define('DB_USER', 'giatuanuser');

/** MySQL database password */
define('DB_PASSWORD', 'giatuanpass');

/** MySQL hostname */
define('DB_HOST', '192.168.0.2');

Xong rồi, chúc mừng thành công!

ket-noi-database-remote
ket-noi-database-remote

Hướng dẫn sử dụng máy chủ database và máy chủ webserver riêng biệt không khuyến khích do hiệu suất kém hơn so với việc sử dụng cùng một máy chủ cho webserver và database, đảm bảo tốc độ kết nối nhanh hơn.

Muốn mở rộng ngang khi vượt quá giới hạn máy chủ vật lý, không thể mua thêm CPU và RAM.

– Hướng dẫn remote database VPS/server WordPress
– Cách remote database WordPress trên VPS/server
– Hướng dẫn kết nối database từ xa cho WordPress trên VPS/server
– Cách sử dụng database từ xa cho WordPress trên VPS/server
– Hướng dẫn cấu hình remote database cho WordPress trên VPS/server
– Cách thiết lập kết nối database cho WordPress từ xa trên VPS/server
– Hướng dẫn sử dụng database VPS/server cho WordPress từ xa
– Cách cấu hình remote database cho WordPress trên VPS/server

Nguyễn Mạnh, là một chuyên gia tăng tốc, bảo mật và quản trị website với 6 năm kinh nghiệm, chuyên sâu về speed web wordpress, hosting, database và quản trị Server. Không dừng tại tăng tốc và quản trị website, Mạnh còn nghiên cứu về vps, cloud lưu trữ website, conten và Seo tối ưu hóa công cụ tìm kiếm. Với đam mê chia sẻ tăng tốc, bảo mật, website server Mạnh cũng có kênh youtube 1.000+ subscriber, lẫn group cộng đồng SEO 1.000+ người hiện tại. Mạnh hiện đang là một trong những chuyên gia trong lĩnh vực website tại Việt Nam. Ngoài là CEO tại Mạnh WEB, Mạnh còn đam mê về lĩnh vực AI, ứng dụng AI trong thiết kế website, tăng tốc, tạo nội dung web mang lại sự tối ưu về thời gian và hiệu quả cho doanh nghiệp nói chung.