MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách di chuyển cơ sở dữ liệu WHMCS sang MariaDB Galera Cluster

WHMCS là giải pháp hỗ trợ, lập hóa đơn và quản lý khách hàng tất cả trong một dành cho các công ty lưu trữ web. Nó là một trong những nhà lãnh đạo trong thế giới tự động hóa lưu trữ được sử dụng cùng với chính bảng điều khiển lưu trữ. WHMCS chạy trên ngăn xếp LAMP, với MySQL / MariaDB là nhà cung cấp cơ sở dữ liệu. Thông thường, WHMCS được cài đặt như một phiên bản độc lập (ứng dụng và cơ sở dữ liệu) độc lập bằng cách làm theo hướng dẫn cài đặt WHMCS hoặc thông qua các công cụ cài đặt phần mềm như cPanel Site Software hoặc Softaculous. Cơ sở dữ liệu có thể trở nên khả dụng cao bằng cách chuyển sang Cụm Galera gồm 3 nút.

Trong bài đăng trên blog này, chúng tôi sẽ hướng dẫn bạn cách di chuyển cơ sở dữ liệu WHMCS từ máy chủ MySQL độc lập (do chính máy chủ WHM / cPanel cung cấp) sang Cụm MariaDB Galera ba nút bên ngoài để cải thiện tính khả dụng của cơ sở dữ liệu. Bản thân ứng dụng WHMCS sẽ tiếp tục chạy trên cùng một máy chủ cPanel. Chúng tôi cũng sẽ cung cấp cho bạn một số mẹo điều chỉnh để tối ưu hóa hiệu suất.

Triển khai Cụm cơ sở dữ liệu

  1. Cài đặt ClusterControl:
    $ whoami
    root
    $ wget https://severalnines.com/downloads/cmon/install-cc
    $ chmod 755 install-cc
    $ ./install-cc
    Thực hiện theo các hướng dẫn cho đến khi cài đặt hoàn tất. Sau đó, truy cập http://192.168.55.50/clustercontrol (192.168.55.50 là địa chỉ IP của máy chủ lưu trữ ClusterControl) và đăng ký người dùng quản trị cấp cao với mật khẩu và các chi tiết bắt buộc khác.
  2. Thiết lập SSH không cần mật khẩu từ ClusterControl cho tất cả các nút cơ sở dữ liệu:
    $ whoami
    root
    $ ssh-keygen -t rsa # Press enter on all prompts
    $ ssh-copy-id 192.168.55.51
    $ ssh-copy-id 192.168.55.52
    $ ssh-copy-id 192.168.55.53
  3. Định cấu hình triển khai cơ sở dữ liệu cho Cụm MariaDB Galera 3 nút của chúng tôi. Chúng tôi sẽ sử dụng phiên bản MariaDB 10.3 được hỗ trợ mới nhất: Đảm bảo rằng bạn nhận được tất cả các dấu kiểm màu xanh lục sau khi nhấn 'Enter' khi thêm chi tiết nút. Chờ cho đến khi công việc triển khai hoàn tất và bạn sẽ thấy cụm cơ sở dữ liệu được liệt kê trong ClusterControl.
  4. Triển khai nút ProxySQL (chúng tôi sẽ đồng định vị nó với nút ClusterControl) bằng cách đi tới Quản lý -> Bộ cân bằng tải -> ProxySQL -> Triển khai ProxySQL . Chỉ định các chi tiết bắt buộc sau: Trong "Thêm người dùng cơ sở dữ liệu", bạn có thể yêu cầu ClusterControl tạo người dùng ProxySQL và MySQL mới khi thiết lập , do đó chúng tôi đặt người dùng là "portal_whmcs", được gán TẤT CẢ CÁC QUYỀN RIÊNG TƯ trên cơ sở dữ liệu "portal_whmcs. *". Sau đó, chọn tất cả các hộp cho "Bao gồm" và cuối cùng chọn "sai" cho "Bạn có đang sử dụng giao dịch ngầm không?".

Sau khi quá trình triển khai kết thúc, bạn sẽ thấy một cái gì đó như thế này trong dạng xem Topo:

Các tài nguyên liên quan Nhà cung cấp dịch vụ lưu trữ hàng đầu của Úc tận dụng ClusterControl để mang lại trải nghiệm đẳng cấp thế giới cho người dùng của họ Cân bằng tải cơ sở dữ liệu cho MySQL và MariaDB với ProxySQL - Hướng dẫn MySQL có tính khả dụng cao trên cPanel với Galera Cluster

Việc triển khai cơ sở dữ liệu của chúng tôi hiện đã hoàn tất. Hãy nhớ rằng chúng tôi không đề cập đến sự dư thừa của bậc cân bằng tải trong bài đăng trên blog này. Bạn có thể đạt được điều đó bằng cách thêm một bộ cân bằng tải thứ cấp và xâu chuỗi chúng lại với nhau bằng Keepalived. Để tìm hiểu thêm về điều này, hãy xem Hướng dẫn ProxySQL trong chương "4.2. Tính khả dụng cao cho ProxySQL".

Cài đặt WHMCS

Nếu bạn đã cài đặt và chạy WHMCS, bạn có thể bỏ qua bước này.

Lưu ý rằng WHMCS yêu cầu giấy phép hợp lệ mà bạn phải mua trước để sử dụng phần mềm. Họ không cung cấp giấy phép dùng thử miễn phí, nhưng họ cung cấp đảm bảo hoàn tiền trong 30 ngày không cần thắc mắc, có nghĩa là bạn luôn có thể hủy đăng ký trước khi ưu đãi hết hạn mà không bị tính phí.

Để đơn giản hóa quá trình cài đặt, chúng tôi sẽ sử dụng Phần mềm trang web cPanel (bạn có thể chọn cài đặt thủ công WHMCS) cho một trong các miền phụ của chúng tôi, selfportal.mytest.io. Sau khi tạo tài khoản trong WHM, đi tới cPanel> Phần mềm> Phần mềm Trang> WHMCS và cài đặt ứng dụng web. Đăng nhập với tư cách là người dùng quản trị và kích hoạt giấy phép để bắt đầu sử dụng ứng dụng.

Tại thời điểm này, phiên bản WHMCS của chúng tôi đang chạy như một thiết lập độc lập, kết nối với máy chủ MySQL cục bộ.

ClusterControlSingle Console cho Toàn bộ Cơ sở dữ liệu Cơ sở hạ tầng của bạnTìm hiểu những tính năng mới khác trong ClusterControlInstall ClusterControl MIỄN PHÍ

Di chuyển Cơ sở dữ liệu WHMCS sang Cụm MariaDB Galera

Chạy WHMCS trên một máy chủ MySQL độc lập khiến ứng dụng bị lỗi một lần (SPOF) từ quan điểm cơ sở dữ liệu. MariaDB Galera Cluster cung cấp khả năng dự phòng cho lớp dữ liệu với các tính năng phân cụm tích hợp sẵn và hỗ trợ kiến ​​trúc đa tổng thể. Kết hợp điều này với bộ cân bằng tải cơ sở dữ liệu, ví dụ như ProxySQL và chúng tôi có thể cải thiện tính khả dụng của cơ sở dữ liệu WHMCS với những thay đổi rất nhỏ đối với chính ứng dụng.

Tuy nhiên, có một số phương pháp hay nhất mà WHMCS (hoặc các ứng dụng khác) phải tuân theo để hoạt động hiệu quả trên Galera Cluster, đặc biệt là:

  • Tất cả các bảng phải chạy trên công cụ lưu trữ InnoDB / XtraDB.
  • Tất cả các bảng phải có khóa chính được xác định (hỗ trợ khóa chính nhiều cột, không tính khóa duy nhất).

Tùy thuộc vào phiên bản được cài đặt, trong cài đặt môi trường thử nghiệm của chúng tôi (cPanel / WHM 11.78.0.23, WHMCS 7.6.0 qua Phần mềm Trang web), hai điểm trên không đáp ứng yêu cầu. Cấu hình cPanel / WHM MySQL mặc định đi kèm với dòng sau bên trong /etc/my.cnf:

default-storage-engine=MyISAM

Điều trên sẽ khiến các bảng bổ sung do Mô-đun bổ trợ WHMCS quản lý được tạo ở định dạng công cụ lưu trữ MyISAM nếu các mô-đun đó được bật. Đây là kết quả đầu ra của công cụ lưu trữ sau khi chúng tôi đã bật 2 mô-đun (TLD mới và Bảng thông báo dành cho nhân viên):

MariaDB> SELECT tables.table_schema, tables.table_name, tables.engine FROM information_schema.tables WHERE tables.table_schema='whmcsdata_whmcs' and tables.engine <> 'InnoDB';
+-----------------+----------------------+--------+
| table_schema    | table_name           | engine |
+-----------------+----------------------+--------+
| whmcsdata_whmcs | mod_enomnewtlds      | MyISAM |
| whmcsdata_whmcs | mod_enomnewtlds_cron | MyISAM |
| whmcsdata_whmcs | mod_staffboard       | MyISAM |
+-----------------+----------------------+--------+

Hỗ trợ MyISAM là thử nghiệm trong Galera, có nghĩa là bạn không nên chạy nó trong phiên bản sản xuất. Trong một số trường hợp tồi tệ hơn, nó có thể ảnh hưởng đến tính nhất quán của dữ liệu và gây ra lỗi sao chép tập ghi do tính chất không giao dịch của nó.

Một điểm quan trọng khác là mọi bảng phải có một khóa chính được xác định. Tùy thuộc vào quy trình cài đặt WHMCS mà bạn đã thực hiện (đối với chúng tôi, chúng tôi đã sử dụng Phần mềm Trang web cPanel để cài đặt WHMCS), một số bảng do trình cài đặt tạo không đi kèm với khóa chính được xác định, như được hiển thị trong đầu ra sau:

MariaDB [information_schema]> SELECT TABLES.table_schema, TABLES.table_name FROM TABLES LEFT JOIN KEY_COLUMN_USAGE AS c ON (TABLES.TABLE_NAME = c.TABLE_NAME AND c.CONSTRAINT_SCHEMA = TABLES.TABLE_SCHEMA AND c.constraint_name = 'PRIMARY' ) WHERE TABLES.table_schema <> 'information_schema' AND TABLES.table_schema <> 'performance_schema' AND TABLES.table_schema <> 'mysql' and TABLES.table_schema <> 'sys' AND c.constraint_name IS NULL;
+-----------------+------------------------------------+
| table_schema    | table_name                         |
+-----------------+------------------------------------+
| whmcsdata_whmcs | mod_invoicedata                    |
| whmcsdata_whmcs | tbladminperms                      |
| whmcsdata_whmcs | tblaffiliates                      |
| whmcsdata_whmcs | tblconfiguration                   |
| whmcsdata_whmcs | tblknowledgebaselinks              |
| whmcsdata_whmcs | tbloauthserver_access_token_scopes |
| whmcsdata_whmcs | tbloauthserver_authcode_scopes     |
| whmcsdata_whmcs | tbloauthserver_client_scopes       |
| whmcsdata_whmcs | tbloauthserver_user_authz_scopes   |
| whmcsdata_whmcs | tblpaymentgateways                 |
| whmcsdata_whmcs | tblproductconfiglinks              |
| whmcsdata_whmcs | tblservergroupsrel                 |
+-----------------+------------------------------------+

Lưu ý thêm, Galera sẽ vẫn cho phép các bảng không có khóa chính tồn tại. Tuy nhiên, các hoạt động DELETE không được hỗ trợ trên các bảng đó cộng với nó sẽ khiến bạn gặp phải các vấn đề lớn hơn nhiều như sự cố nút, suy giảm hiệu suất chứng nhận bộ ghi hoặc các hàng có thể xuất hiện theo thứ tự khác trên các nút khác nhau.

Để khắc phục điều này, kế hoạch di chuyển của chúng tôi phải bao gồm bước bổ sung để sửa công cụ lưu trữ và cấu trúc giản đồ, như được hiển thị trong phần tiếp theo.

Kế hoạch di chuyển

Do các hạn chế được giải thích trong chương trước, kế hoạch di chuyển của chúng tôi phải giống như sau:

  1. Bật chế độ bảo trì WHMCS
  2. Sao lưu cơ sở dữ liệu whmcs bằng cách sử dụng sao lưu logic
  3. Sửa đổi các tệp kết xuất để đáp ứng yêu cầu của Galera (chuyển đổi công cụ lưu trữ)
  4. Khởi động một trong các nút Galera và để các nút còn lại ngừng hoạt động
  5. Khôi phục về nút Galera đã chọn
  6. Sửa cấu trúc giản đồ để đáp ứng yêu cầu của Galera (thiếu khóa chính)
  7. Khởi động cụm từ nút Galera đã chọn
  8. Bắt đầu nút thứ hai và để nó đồng bộ hóa
  9. Khởi động nút thứ ba và để nó đồng bộ hóa
  10. Thay đổi cơ sở dữ liệu trỏ đến điểm cuối thích hợp
  11. Tắt chế độ bảo trì WHMCS

Kiến trúc mới có thể được minh họa như sau:

Tên cơ sở dữ liệu WHMCS của chúng tôi trên máy chủ cPanel là "whmcsdata_whmcs" và chúng tôi sẽ di chuyển cơ sở dữ liệu này sang một Cụm MariaDB Galera ba nút bên ngoài được triển khai bởi ClusterControl. Trên đầu máy chủ cơ sở dữ liệu, chúng tôi có một ProxySQL (đồng định vị với ClusterControl) đang chạy để hoạt động như bộ cân bằng tải MariaDB, cung cấp điểm cuối duy nhất cho phiên bản WHMCS của chúng tôi. Thay vào đó, tên cơ sở dữ liệu trên cụm sẽ được đổi thành "portal_whmcs" để chúng ta có thể dễ dàng phân biệt.

Trước tiên, bật Chế độ bảo trì trên toàn trang web bằng cách đi tới WHMCS> Thiết lập> Cài đặt chung> Chung> Chế độ bảo trì> Đánh dấu để bật - ngăn truy cập khu vực máy khách khi được bật . Điều này sẽ đảm bảo sẽ không có hoạt động nào từ người dùng cuối trong quá trình sao lưu cơ sở dữ liệu.

Vì chúng tôi phải thực hiện các sửa đổi nhỏ đối với cấu trúc lược đồ để phù hợp tốt với Galera, nên bạn nên tạo hai tệp kết xuất riêng biệt. Một cái chỉ với giản đồ và một cái khác chỉ dành cho dữ liệu. Trên máy chủ WHM, hãy chạy lệnh sau với tư cách gốc:

$ mysqldump --no-data -uroot whmcsdata_whmcs > whmcsdata_whmcs_schema.sql
$ mysqldump --no-create-info -uroot whmcsdata_whmcs > whmcsdata_whmcs_data.sql

Sau đó, chúng tôi phải thay thế tất cả các lần xuất hiện MyISAM trong tệp kết xuất lược đồ bằng 'InnoDB':

$ sed -i 's/MyISAM/InnoDB/g' whmcsdata_whmcs_schema.sql

Xác minh rằng chúng tôi không có dòng MyISAM nữa trong tệp kết xuất (tệp sẽ không trả lại gì):

$ grep -i 'myisam' whmcsdata_whmcs_schema.sql

Chuyển các tệp kết xuất từ ​​máy chủ WHM sang mariadb1 (192.168.55.51):

$ scp whmcsdata_whmcs_* 192.168.55.51:~

Tạo cơ sở dữ liệu MySQL. Từ ClusterControl, đi tới Quản lý -> Lược đồ và Người dùng -> Tạo Cơ sở dữ liệu và chỉ định tên cơ sở dữ liệu. Ở đây chúng tôi sử dụng một tên cơ sở dữ liệu khác được gọi là "portal_whmcs". Nếu không, bạn có thể tạo thủ công cơ sở dữ liệu bằng lệnh sau:

$ mysql -uroot -p 
MariaDB> CREATE DATABASE 'portal_whmcs';

Tạo một người dùng MySQL cho cơ sở dữ liệu này với các đặc quyền của nó. Từ ClusterControl, đi tới Quản lý -> Lược đồ và Người dùng -> Người dùng -> Tạo Người dùng Mới và chỉ định những điều sau:

Trong trường hợp bạn chọn tạo người dùng MySQL theo cách thủ công, hãy chạy các câu lệnh sau:

$ mysql -uroot -p 
MariaDB> CREATE USER 'portal_whmcs'@'%' IDENTIFIED BY 'ghU51CnPzI9z';
MariaDB> GRANT ALL PRIVILEGES ON portal_whmcs.* TO [email protected]'%';

Lưu ý rằng người dùng cơ sở dữ liệu đã tạo phải được nhập vào ProxySQL, để cho phép ứng dụng WHMCS xác thực dựa trên bộ cân bằng tải. Đi tới Nodes -> chọn nút ProxySQL -> Người dùng -> Nhập người dùng và chọn "portal_whmcs" @ "%", như được hiển thị trong ảnh chụp màn hình sau:

Trong cửa sổ tiếp theo (Cài đặt người dùng), chỉ định Nhóm máy chủ 10 làm nhóm máy chủ mặc định:

Bây giờ giai đoạn chuẩn bị khôi phục đã hoàn tất.

Trong Galera, khôi phục một cơ sở dữ liệu lớn thông qua mysqldump trên một cụm nút đơn sẽ hiệu quả hơn và điều này cải thiện đáng kể thời gian khôi phục. Nếu không, mọi nút trong cụm sẽ phải xác nhận mọi câu lệnh từ đầu vào mysqldump, điều này sẽ mất nhiều thời gian hơn để hoàn thành.

Vì chúng ta đã có Cụm MariaDB Galera ba nút đang chạy, hãy dừng dịch vụ MySQL trên mariadb2 và mariadb3, mỗi lần một nút để giảm quy mô duyên dáng. Để tắt các nút cơ sở dữ liệu, từ ClusterControl, chỉ cần đi tới Nodes -> Node Actions -> Stop Node -> Proceed . Đây là những gì bạn sẽ thấy từ bảng điều khiển ClusterControl, trong đó kích thước cụm là 1 và trạng thái của db1 là Đồng bộ hóa và Chính:

Sau đó, trên mariadb1 (192.168.55.51), khôi phục lược đồ và dữ liệu tương ứng:

$ mysql -uportal_whmcs -p portal_whmcs < whmcsdata_whmcs_schema.sql
$ mysql -uportal_whmcs -p portal_whmcs < whmcsdata_whmcs_data.sql

Sau khi được nhập, chúng tôi phải sửa cấu trúc bảng để thêm cột "id" cần thiết (ngoại trừ bảng "tblaffiliates") cũng như thêm khóa chính trên tất cả các bảng bị thiếu bất kỳ:

$ mysql -uportal_whmcs -p
MariaDB> USE portal_whmcs;
MariaDB [portal_whmcs]> ALTER TABLE `tblaffiliates` ADD PRIMARY KEY (id);
MariaDB [portal_whmcs]> ALTER TABLE `mod_invoicedata` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tbladminperms` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tblconfiguration` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tblknowledgebaselinks` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tbloauthserver_access_token_scopes` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tbloauthserver_authcode_scopes` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tbloauthserver_client_scopes` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tbloauthserver_user_authz_scopes` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tblpaymentgateways` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tblproductconfiglinks` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
MariaDB [portal_whmcs]> ALTER TABLE `tblservergroupsrel` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Hoặc, chúng tôi có thể dịch các câu lệnh lặp lại ở trên bằng cách sử dụng một vòng lặp trong tập lệnh bash:

#!/bin/bash

db_user='portal_whmcs'
db_pass='ghU51CnPzI9z'
db_whmcs='portal_whmcs'
tables=$(mysql -u${db_user} "-p${db_pass}"  information_schema -A -Bse "SELECT TABLES.table_name FROM TABLES LEFT JOIN KEY_COLUMN_USAGE AS c ON (TABLES.TABLE_NAME = c.TABLE_NAME AND c.CONSTRAINT_SCHEMA = TABLES.TABLE_SCHEMA AND c.constraint_name = 'PRIMARY' ) WHERE TABLES.table_schema <> 'information_schema' AND TABLES.table_schema <> 'performance_schema' AND TABLES.table_schema <> 'mysql' and TABLES.table_schema <> 'sys' AND c.constraint_name IS NULL;")
mysql_exec="mysql -u${db_user} -p${db_pass} $db_whmcs -e"

for table in $tables
do
        if [ "${table}" = "tblaffiliates" ]
        then
                $mysql_exec "ALTER TABLE ${table} ADD PRIMARY KEY (id)";
        else
                $mysql_exec "ALTER TABLE ${table} ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST";
        fi
done

Tại thời điểm này, có thể an toàn để bắt đầu các nút còn lại đồng bộ hóa với mariadb1. Bắt đầu với mariadb2 bằng cách đi tới Nodes -> chọn db2 -> Node Actions -> Start Node . Theo dõi tiến trình công việc và đảm bảo mariadb2 ở trạng thái Đã đồng bộ hóa và Chính (theo dõi trang Tổng quan để biết chi tiết) trước khi bắt đầu mariadb3.

Cuối cùng, thay đổi cơ sở dữ liệu trỏ đến máy chủ ProxySQL trên cổng 6033 bên trong tệp cấu hình WHMCS, như trong trường hợp của chúng tôi, nó nằm tại /home/whmcsdata/public_html/configuration.php:

$ vim configuration.php
<?php
$license = 'WHMCS-XXXXXXXXXXXXXXXXXXXX';
$templates_compiledir = 'templates_c';
$mysql_charset = 'utf8';
$cc_encryption_hash = 'gLg4oxuOWsp4bMleNGJ--------30IGPnsCS49jzfrKjQpwaN';
$db_host = 192.168.55.50;
$db_port = '6033';
$db_username = 'portal_whmcs';
$db_password = 'ghU51CnPzI9z';
$db_name = 'portal_whmcs';

$customadminpath = 'admin2d27';

Đừng quên tắt chế độ bảo trì WHMCS bằng cách đi tới WHMCS> Thiết lập> Cài đặt chung> Chung> Chế độ bảo trì> bỏ chọn "Đánh dấu để bật - ngăn truy cập khu vực máy khách khi đã bật" . Bài tập di chuyển cơ sở dữ liệu của chúng tôi hiện đã hoàn tất.

Kiểm tra và điều chỉnh

Bạn có thể xác minh nếu bằng cách xem các mục truy vấn của ProxySQL trong Nút -> ProxySQL -> Truy vấn hàng đầu :

Đối với các truy vấn chỉ đọc lặp đi lặp lại nhiều nhất (bạn có thể sắp xếp chúng theo Số sao), bạn có thể lưu chúng vào bộ nhớ cache để cải thiện thời gian phản hồi và giảm số lần truy cập vào máy chủ phụ trợ. Chỉ cần di chuyển đến bất kỳ truy vấn nào và nhấp vào Truy vấn bộ nhớ cache và cửa sổ bật lên sau sẽ xuất hiện:

Những gì bạn cần làm là chỉ chọn nhóm máy chủ đích và nhấp vào "Thêm quy tắc". Sau đó, bạn có thể xác minh xem truy vấn đã lưu trong bộ nhớ cache có bị truy cập trong tab "Quy tắc" hay không:

Từ chính quy tắc truy vấn, chúng ta có thể nói rằng các lần đọc (tất cả SELECT ngoại trừ SELECT .. FOR UPDATE) được chuyển tiếp đến nhóm máy chủ 20, nơi các kết nối được phân phối đến tất cả các nút trong khi ghi (ngoài SELECT) được chuyển tiếp đến nhóm máy chủ 10, nơi các kết nối chỉ được chuyển tiếp đến một nút Galera. Cấu hình này giảm thiểu nguy cơ bế tắc có thể do thiết lập đa tổng thể gây ra, giúp cải thiện toàn bộ hiệu suất sao chép.

Đó là nó cho bây giờ. Chúc các bạn thành nhóm vui vẻ!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình kết nối MariaDB / Python Beta hiện có sẵn

  2. Cách trừ số giờ khỏi giá trị ngày giờ trong MariaDB

  3. 8 cách để thêm phút vào ngày giờ trong MariaDB

  4. Cách cải thiện hiệu suất sao chép trong MySQL hoặc MariaDB Galera Cluster

  5. Cách khắc phục việc xóa dữ liệu ngẫu nhiên trong MySQL &MariaDB