Remote database – tạo vps data riêng và kết nối với wordpress

Remote database – kết nối dữ liệu từ xa. Tách code wordpress và dữ liệu database của nó ra 2 server riêng.

Mình sẽ thuật lại cách tạo và kết nối vps chứa dữ liệu (Mysql remote database) và vps chứa code (wordpress). Bài viết thực hiện trên VPS của Vultr, hệ điều hành ubuntu. Với các hệ điều hành khác thì không có sự khác biệt về các bước thực hiện. Điều quan trọng phải ghi nhớ là bước nào thì làm trên server chứa code và bước nào thì làm trên server chứa data. Ngu ngu như mình cũng mất nửa ngày để tìm hiểu.

Thông tin cấu hình như sau:

VPS code – chứa code php

  • Nhà cung cấp: vultr
  • Hệ điều hành: Ubuntu 18.4
  • Webinoly
  • IP mạng riêng

VPS data – chứa dữ liệu sql (remote data)

  • Nhà cung cấp: vultr
  • OS: Ubuntu 18.4
  • Mariadb 10.4

Công cụ SSH: MobaXterm. Vì mình không rành mấy cái như vi, nano… nên dùng nó cho tiện vì vừa có ssh, vừa có sftp trực quan.

Xem: Hướng dẫn cài Webinoly + WordPress trên vps

Việc cài đặt thì trên mạng hướng dẫn rất nhiều. điểm khác biệt ở đây là VPS data chỉ cài hệ điều hành và SQL server thôi.

Bật Private Network trên Vultr

Giả sử ip riêng (Private Network) của vps code: 10.40.96.1

Giả sử ip riêng (Private Network) của vps data: 10.40.96.2

Minh phân biệt 2vps là vps code và vps data cho dễ hiểu. Nếu chưa có thì vào setting trong bảng điều khiển của Vultr để bật.

Xe thông tin cấu hình Private Network

Ví dụ, truy cập vào bảng điều khiển VPS CODE, Trong phần setting, Bên dưới Public Network có dòng: “Need assistance? View our networking configuration tips and examples.”

Bạn click vào networking configuration để xem thông tin cấu hình đầy đủ theo server của bạn.

Trong trang hướng dẫn cấu hình của Vultr vừa mở ra, chuyển đến Ubuntu 17.10, Ubuntu 18.xx, Ubuntu 19.xx. Ở đây các bạn chú ý tới dòng:

Populate the /etc/netplan/10-ens7.yaml file with the following text.

Đó là vị trí file sẽ chứa thông tin cấu hình Private Network. Bên dưới là nội dung của file được tạo theo thông tin thực vps của bạn, chỉ việc copy thôi.

Thêm cấu hình Private Network vào vps

Tiếp theo, trên vps của bạn vào thư mục /etc/netplan/. Tại đây, nếu chưa có file 10-ens7.yaml thì bạn sẽ phải tạo nó.

Bây giờ thì copy phần nội dung của file 10-ens7.yaml trong trang hướng dẫn của vultr vào file 10-ens7.yaml trên server. Nó có nội dung dạng như:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens7:
      match:
        macaddress: 5c:00:xv:bf:21:07
      mtu: 1450
      dhcp4: no
      addresses: [10.40.96.1/20]

Lưu ý: bên trên là thông tin của mình, đừng copy nhé, vì có thể địa chỉ mac và ip của bạn sẽ khác. Hãy copy trên trang cấu hình vultr của bạn.

Sau khi lưu, nhập lệnh sau để cập nhật:

netplan apply

Để kiểm tra, nhập ip addr

Với VPS data thì thực hiện tương tự nhé.

Trên VPS Data

Cấu hình Mariadb (10.4)

Sửa file 50-server.cnf đối với maria 10.4. với Mysql hoặc các phiên bản khác có thể là my.cnf

/etc/mysql/mariadb.conf.d/50-server.cnf

Tìm dòng

bind-address = 127.0.0.1

Thay thế bằng địa chỉ ip riêng của vps data của bạn. Mục đích để giới hạn IP có thể truy cập vào data của bạn.

bind-address = 10.40.96.2

Sau khi lưu, cần khởi động lại

sudo service mysql restart

Hoặc

systemctl restart mariadb.service

Kiểm tra

sudo netstat -anp | grep 3306

Kết quả ok sẽ trông như thế này

tcp        0      0 10.40.96.2:3306         0.0.0.0:*               LISTEN      644/mysqld

Mở port 3306

Vì Vultr không khóa port 3306, mà Ubuntu 18.4 cài qua vultr cũng tắt tường lửa fwu nên port 3306 được mở sẵn.

Cho phép Vps Code kết nối với vps data

Tạo database

ssh vào vps data, Đăng nhập mysql

mysql -u root -p

Mẹo: do ssh bằng root và pass của vultr nên mình toàn dùng lệnh sau cho nhanh

mysql -v

Tạo database, ví dụ tạo data có tên: dbwordpress

CREATE DATABASE dbwordpress;

Tạo người dùng và mật khẩu có thể truy cập được data từ vps code. Ví dụ tạo người dùng có tên uvpscode có thể truy cập từ vps code có ip (riêng) :10.40.96.1 với mật khẩu là password

CREATE USER 'uvpscode'@'10.40.96.1' IDENTIFIED BY 'password';

Cấp quyền cho user vừa tạo có toàn quyền với data dbwordpress

GRANT ALL PRIVILEGES ON dbwordpress.* TO 'uvpscode'@'10.40.96.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;

exit để thoát khỏi dòng lệnh mysql.

Bạn cần lưu lại các thông tin trên để thay thế trong file wp-config.php trên vps code.

Tổng lại ta có các thông tin sau:

  • dbwordpress : data mà bạn sẽ chứa dữ liệu wp sau này
  • uvpscode/password : tên người dùng/mật khẩu của dbwordpress
  • 10.40.96.1: chỉ vps có ip này mới truy cập được data

Trên VPS Code

Ssh vào vps code có ip riêng 10.40.96.1 như đã đề cập ở trên.

Nhập lệnh sau để kiểm tra kết nối:

mysql -h 10.40.96.2 -u uvpscode -p

Bạn sẽ nhập mật khẩu của của người dùng uvpscode mới tạo ở trên.

Kết nối thành công sẽ có kết quả như này:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2677
Server version: 10.4.12-MariaDB-1:10.4.12+maria~bionic mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Nếu gõ:

show databases;

Thì sẽ hiển thị data dbwordpress

Vậy là chúng ta đã kết nối thành công Remote database. Bài tiếp theo sẽ là chuyển dữ liệu data từ vps code sang vps data để hoàn thành bước cuối cùng.

0 0 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Logo
Register New Account
Reset Password