Skip to content Skip to main navigation Skip to footer

Tối ưu hóa tốc độ MySQL trên DirectAdmin

Trong quá trình sử dụng control panel DirectAdmin có lẽ ai trong số chúng ta cũng từng bị tình trạng MySQL truy vấn tốc độ không được tốt. Và trong bài viết này mình sẽ hướng dẫn các bạn một cách đơn giản để tối ưu hóa tốc độ MySQL trên DirectAdmin.

I. Tổng quan

Mặc định khi chúng ta sử dụng dụng control panel DirectAdmin, chúng ta đa số đều chọn cài đặt cấu hình mặc định, và trong cấu hình mặc định sẽ mặc định cài đặt dịch vụ MySQL cho chúng ta.

Nếu bạn muốn sử dụng MariaDB thay cho MySQL các bạn có thể tham khảo qua hướng dẫn sau.

Và kể cả bạn có đang sử dụng MySQL hoặc MariaDB thì cũng nên sử dụng phiên bản mới nhất để có được một hiệu suất tối ưu nhất nhé.

Ngoài việc nâng cấp phiên bản chúng ta vẫn còn nhiều cách khác để tối ưu hóa tốc độ MySQL trên DirectAdmin, và cách tối ưu đó là gì mời bạn xem tiếp bài hướng dẫn này. Nhưng VPS hoặc server của bạn sẽ cần có lượng Ram tối thiểu là 2Gb nhé.

II. Tối ưu hóa tốc độ MySQL trên DirectAdmin

Để tối ưu hóa tốc độ MySQL trên DirectAdmin chúng ta thực hiện theo 3 bước sau.

Bước 1: SSH vào hệ thống DirectAdmin của bạn

Để tối ưu hóa tốc độ MySQL trên DirectAdmin, đầu tiên chúng ta cần làm là SSH hoặc truy cập VPS hoặc máy chủ của bạn với quyền root trước. Nếu bạn chưa biết cách SSH vào VPS hoặc Server của bạn thì bạn có thể tham khảo bài viết hướng dẫn sau:

Sau khi đã SSH thành công chúng ta tiếp tục với bước 2 để bắt đầu quá trình backup toàn bộ database trên DirectAdmin với CustomBuild 2.0.

Bước 2: Backup toàn bộ database trên DirectAdmin với CustomBuild 2.0

Đầu tiên chúng ta cần xem phiên bản CustomBuild đang sử dụng có phải là 2.0 hay không. Để kiểm tra phiên bản CustomBuild đang sử dụng mời bạn xem qua bài hướng dẫn ngắn sau:

Trong trường hợp phiên bản CustomBuild của bạn thấp hơn 2.0 thì bạn cần nâng cấp CustomBuild 1.x lên 2.0, bạn có thể xem qua bài hướng dẫn sau:

Sau khi kiểm tra đã có CustomBuild 2.0 chúng ta thực hiện một số lệnh sau:  AZDIGI Tutorial

AZDIGI Tutorial
cd /usr/local/directadmin/custombuild
./build set mysql_backup yes
./build mysql_backup
    

Giải thích các lệnh trên:

  • Lệnh 1: Di chuyển để thư mục custombuild.
  • Lệnh 2: Điều chỉnh cấu hình bật tính năng sao lưu database.
  • Lệnh 3: Khởi chạy quá trình sao lưu database.

Nếu các bạn chưa biết thư mục mysql_backup chứa các database nằm ở đâu thì có thể sử dụng lệnh sau:  AZDIGI Tutorial

AZDIGI Tutorial
cat /usr/local/directadmin/custombuild/options.conf | grep mysql_backup_dir
    

Dưới đây là kết quả của mình:

Vậy là thư mục chứa các database được backup ra sẽ là /usr/local/directadmin/custombuild/mysql_backups. Có thể ở trên VPS/Server của bạn sẽ khác, tùy vào cấu hình ở tệp tin /usr/local/directadmin/custombuild/options.conf.

Hoặc bạn cũng có thể thay đổi đường dẫn này bằng cách sử lại cấu hình của tệp tin options.conf nếu muốn.

Vì mình chỉ có một user demo2 với 1 database demo2_test thôi nên khi chạy lệnh ./build mysql_backup thì quá trình này rất nhanh, và chỉ có 2 database được sinh ra, trong đó có một database mặc định.

Tối ưu hóa tốc độ MySQL trên DirectAdmin

Kiểm tra danh sách tệp tin tại thư mục này cũng thấy 2 database tương tự log trên.

Tối ưu hóa tốc độ MySQL trên DirectAdmin

Trong trường hợp thư mục mysql_backups của bạn đã tồn tại dữ liệu rồi và bạn không muốn bị ghi đè thì có thể thay đổi tên thư mục hiện tại với lệnh sau:  AZDIGI Tutorial

mv mysql_backups mysql_backups.`date +%F`
    

Sau khi chạy lệnh này tên thư mục mysql_backups sẽ được đổi thành tên mới dạng mysql_backups.YYYY-mm-dd như hình sau:

Vậy là hoàn tất quá trình backup toàn bộ database trên DirectAdmin. Chúng ta tiếp tục đến bước 3 là bước chính của việc tối ưu hóa tốc độ MySQL trên DirectAdmin trong bài viết này.

Bước 3: Cách tùy chỉnh tối ưu hóa tốc độ MySQL trên DirectAdmin

Sau khi đã backup được tất cả cơ sở dữ liệu của bạn theo bước 2 thì chúng ta mới thực hiện bước này nhé.

Chúng ta thực hiện hai lệnh sau, dành cho VPS hoặc Server trên 8Gb RAM:

AZDIGI Tutorial
cp /etc/my.cnf /etc/my.cnf.old
wget -O /etc/my.cnf http://files.directadmin.com/services/all/mysql/my-huge-5.5.cnf
    

Giải thích hai lệnh trên:

  • Lệnh 1: Lệnh này sẽ sao lưu tệp tin cấu hình MySQL/MariaDB my.cnf thành tên mới là my.cnf.old. Nhằm trường hợp chúng ta cần lại file này.
  • Lệnh 2: Lệnh này sẽ tải 1 tệp tin cấu hình mẫu đã được tinh chỉnh và tối ưu hóa tốc độ cho MySQL/MariaDB.

Ở đây bạn để ý sẽ thấy có một đường dẫn file cấu hình mặc định đó là http://files.directadmin.com/services/all/mysql/my-huge-5.5.cnf, ngoài file cấu hình mặc định được tối ưu hóa này chúng ta sẽ còn hai file cấu hình mặc định được tối ưu hóa khác là:

  • http://files.directadmin.com/services/all/mysql/my-medium-5.5.cnf
  • http://files.directadmin.com/services/all/mysql/my-large-5.5.cnf

Nếu lượng ram của bạn chỉ ở mức 2Gb thì nên sử dụng hai lệnh dưới nhé:

AZDIGI Tutorial
cp /etc/my.cnf /etc/my.cnf.old
wget -O /etc/my.cnf http://files.directadmin.com/services/all/mysql/my-medium-5.5.cnf
    

Trường hợp nếu VPS của bạn trên 4Gb Ram thì bạn sử dụng hai lệnh sau:

AZDIGI Tutorial
cp /etc/my.cnf /etc/my.cnf.old
wget -O /etc/my.cnf http://files.directadmin.com/services/all/mysql/my-large-5.5.cnf
    

Sau khi các bạn đã thực hiện 1 trong 3 cấu hình trên tùy hiện tại của VPS hoặc Server mình thì chúng ta sẽ cần khởi động lại MySQL/MariaDB theo lệnh sau để nhận cấu hình mới:

AZDIGI Tutorial
service mysqld restart
    

Chờ một lát để dịch vụ MySQL/MariaDB khởi động lại là xong.

Vậy là chúng ta đã hoàn tất các bước tối ưu hóa tốc độ MySQL trên DirectAdmin. Tuy là còn rất nhiều cách tối ưu hóa khác nhưng trên đây là cách đơn giản nhất, kể cả những bạn không rành về các thông số cấu hình thì cũng có thể tối ưu được.

III. Tổng kết

Qua bài này mình đã hướng dẫn các bạn cách đơn giản nhất để tối ưu hóa tốc độ MySQL trên DirectAdmin. Và có đến 3 tùy chọn cấu hình cho các bạn lựa chọn sao cho phù hợp với mức ram của VPS/Server mà bạn đang sử dụng.

Hy vọng bài viết hữu ích đối với các bạn. Chúc các bạn có thể thực hiện thành công. 

Xem thêm các bài viết hữu ích về DirectAdmin tại đường dẫn sau:

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới: