Quản lý cấu hình MySQL bao gồm hai thành phần chính - tệp cấu hình MySQL và cấu hình thời gian chạy. Việc áp dụng các thay đổi cấu hình trên môi trường thời gian chạy có thể được thực hiện thông qua các máy khách máy chủ MySQL không có đặc quyền cho các biến phiên nhưng SUPER đặc quyền cho các biến toàn cục. Việc áp dụng các thay đổi cấu hình tương tự vào tệp cấu hình MySQL cũng cần thiết để thực hiện các thay đổi liên tục trong quá trình khởi động lại MySQL, nếu không các giá trị mặc định sẽ được tải trong khi khởi động.
Trong bài đăng blog này, chúng ta sẽ xem xét Quản lý cấu hình ClusterControl như một giải pháp thay thế cho quản lý cấu hình MySQL Workbench.
Quản lý cấu hình MySQL Workbench
MySQL Workbench là một ứng dụng khách đồ họa để làm việc với các máy chủ và cơ sở dữ liệu MySQL cho các phiên bản máy chủ 5.x trở lên. Nó có sẵn miễn phí và thường được sử dụng bởi SysAdmins, DBA và các nhà phát triển để thực hiện phát triển SQL, lập mô hình dữ liệu, quản trị máy chủ MySQL và di chuyển dữ liệu.
Bạn có thể sử dụng MySQL Workbench để thực hiện quản lý cấu hình MySQL / MariaDB trên máy chủ MySQL từ xa. Tuy nhiên, cần có một số bước ban đầu để kích hoạt tính năng này. Từ MySQL Workbench, chọn cấu hình kết nối hiện có và chọn Định cấu hình quản lý từ xa. Bạn sẽ được giới thiệu trình hướng dẫn cấu hình từng bước để giúp bạn thiết lập quản lý từ xa cho cấu hình kết nối:
Khi bắt đầu, một nỗ lực kết nối được thực hiện để xác định phiên bản máy chủ và hệ điều hành của máy đích. Điều này cho phép xác nhận cài đặt kết nối và cho phép trình hướng dẫn chọn một cài đặt trước cấu hình có ý nghĩa. Nếu nỗ lực này không thành công, bạn vẫn có thể tiếp tục bước tiếp theo, nơi bạn có thể tùy chỉnh các cài đặt thêm cho phù hợp với môi trường máy chủ từ xa.
Khi cấu hình kết nối từ xa hoàn tất, hãy nhấp đúp vào cấu hình kết nối để bắt đầu kết nối với phiên bản MySQL. Sau đó, vào Instance -> Options File để mở phần quản lý cấu hình. Bạn sẽ thấy một cái gì đó tương tự như ảnh chụp màn hình sau:
Tất cả các biến cấu hình hiện có từ tệp cấu hình đều được tải trước vào cấu hình này quản lý để bạn có thể xem những tùy chọn nào đã được kích hoạt với các giá trị tương ứng của nó. Cấu hình được phân loại theo một số phần - Chung, ghi nhật ký, InnoDB, mạng, v.v. - điều này thực sự giúp chúng tôi tập trung vào các tính năng cụ thể mà chúng tôi muốn chỉnh sửa hoặc bật.
Khi bạn đã hài lòng với các thay đổi và trước khi nhấp vào "Áp dụng", hãy đảm bảo bạn chọn đúng phần nhóm MySQL từ trình đơn thả xuống (ngay bên cạnh nút Loại bỏ). Sau khi áp dụng, bạn sẽ thấy cấu hình được áp dụng cho máy chủ MySQL nơi một dòng mới sẽ xuất hiện (nếu nó không tồn tại) trong tệp cấu hình MySQL.
Lưu ý rằng việc nhấp vào nút "Áp dụng" sẽ không đẩy thay đổi tương ứng vào thời gian chạy MySQL. Người ta phải thực hiện thao tác khởi động lại trên máy chủ MySQL để tải các thay đổi cấu hình mới bằng cách đi tới Phiên bản -> Khởi động / Tắt máy. Điều này sẽ ảnh hưởng đến thời gian hoạt động cơ sở dữ liệu của bạn.
Để xem tất cả các biến và trạng thái hệ thống đã tải, hãy chuyển đến Quản lý -> Trạng thái và Biến hệ thống:
Quản lý cấu hình ClusterControl
Có thể truy cập Trình quản lý cấu hình ClusterControl trong Quản lý -> Cấu hình. ClusterControl kéo một số tệp cấu hình quan trọng và hiển thị chúng trong cấu trúc cây. Chế độ xem tập trung của các tệp này là chìa khóa để hiểu và khắc phục sự cố thiết lập cơ sở dữ liệu phân tán một cách hiệu quả. Ảnh chụp màn hình sau cho thấy trình quản lý tệp cấu hình của ClusterControl liệt kê tất cả các tệp cấu hình liên quan cho cụm này trong một chế độ xem duy nhất với tô sáng cú pháp:
Như bạn có thể thấy từ ảnh chụp màn hình ở trên, ClusterControl hiểu MySQL "! include "và sẽ theo sau tất cả các tệp cấu hình được liên kết với nó. Ví dụ:có hai tệp cấu hình MySQL được kéo từ máy chủ 192.168.0.21, /etc/my.cnf và /etc/my.cnf.d/secrets-backup.cnf. Bạn có thể mở nhiều tệp cấu hình trong một tab trình chỉnh sửa khác, giúp dễ dàng so sánh nội dung song song với nhau. ClusterControl cũng lấy thông tin sửa đổi tệp cuối cùng từ dấu thời gian của hệ điều hành, như được hiển thị ở dưới cùng bên phải của trình soạn thảo văn bản.
ClusterControl loại bỏ sự lặp lại khi thay đổi tùy chọn cấu hình của một cụm cơ sở dữ liệu. Thay đổi tùy chọn cấu hình trên nhiều nút có thể được thực hiện thông qua một giao diện duy nhất và sẽ được áp dụng cho nút cơ sở dữ liệu tương ứng. Khi bạn nhấp vào "Thay đổi / Đặt tham số", bạn có thể chọn các trường hợp cơ sở dữ liệu mà bạn muốn thay đổi và chỉ định nhóm cấu hình, tham số và giá trị:
Bạn có thể thêm một tham số mới vào tệp cấu hình hoặc sửa đổi một tham số hiện có . Tham số sẽ được áp dụng cho thời gian chạy của các nút cơ sở dữ liệu đã chọn và vào tệp cấu hình nếu tùy chọn vượt qua quá trình xác nhận biến. Một số biến có thể yêu cầu một bước tiếp theo như khởi động lại máy chủ hoặc tải lại cấu hình, điều này sau đó sẽ được ClusterControl thông báo.
Tất cả các dịch vụ được cấu hình bởi ClusterControl sử dụng một mẫu cấu hình cơ sở có sẵn trong / usr / share / cmon / các mẫu trên nút ClusterControl. Bạn có thể trực tiếp sửa đổi tệp cho phù hợp với chính sách triển khai của mình, tuy nhiên, thư mục này sẽ được thay thế sau khi nâng cấp gói. Để đảm bảo các tệp mẫu cấu hình tùy chỉnh của bạn vẫn tồn tại qua các lần nâng cấp, hãy lưu trữ tệp mẫu của bạn trong thư mục / etc / cmon / templates. Khi ClusterControl tải lên tệp mẫu để triển khai, các tệp trong / etc / cmon / Template sẽ luôn có mức độ ưu tiên cao hơn các tệp trong / usr / share / cmon / Template. Nếu hai tệp có tên giống hệt nhau tồn tại trên cả hai thư mục, tệp nằm trong / etc / cmon / Template sẽ được sử dụng.
Đi tới Hiệu suất -> Biến DB để kiểm tra cấu hình thời gian chạy cho tất cả các máy chủ trong cụm:
Chú ý một dòng được đánh dấu màu đỏ trong ảnh chụp màn hình ở trên? Điều đó có nghĩa là cấu hình không giống nhau ở tất cả các nút. Điều này cung cấp khả năng hiển thị rõ ràng hơn về sự khác biệt cấu hình giữa các máy chủ trong một cụm cơ sở dữ liệu cụ thể.
Workbench v ClusterControl:Ưu điểm và Nhược điểm
Mỗi sản phẩm đều có ưu và nhược điểm riêng. Đối với ClusterControl, vì nó hiểu cụm và cấu trúc liên kết, nó là trình quản lý cấu hình tốt nhất để quản lý nhiều nút cơ sở dữ liệu cùng một lúc. Nó hỗ trợ nhiều nhà cung cấp MySQL như MariaDB, Percona cũng như tất cả các biến thể Galera Cluster. Nó cũng hiểu định dạng cấu hình cân bằng tải cơ sở dữ liệu cho HAProxy, MariaDB MaxScale, ProxySQL và Keepalived. Vì ClusterControl yêu cầu cấu hình SSH không cần mật khẩu khi bắt đầu nhập / triển khai cụm, quản lý cấu hình không yêu cầu thiết lập từ xa như Workbench và nó hoạt động ngay lập tức sau khi các máy chủ được quản lý bởi ClusterControl. Các thay đổi cấu hình MySQL do ClusterControl thực hiện sẽ được tự động tải vào thời gian chạy (đối với tất cả các biến được hỗ trợ) cũng như được ghi vào tệp cấu hình MySQL để duy trì lâu dài. Về nhược điểm, quản lý cấu hình ClusterControl không đi kèm với mô tả cấu hình có thể giúp chúng tôi dự đoán điều gì sẽ xảy ra nếu chúng tôi thay đổi tùy chọn cấu hình. Nó không hỗ trợ tất cả các nền tảng mà MySQL có thể chạy, đặc biệt là chỉ một số bản phân phối Linux nhất định như CentOS, RHEL, Debian và Ubuntu.
MySQL Workbench hỗ trợ quản lý từ xa nhiều hệ điều hành như Windows, FreeBSD, MacOS, Open Solaris và Linux. MySQL Workbench có sẵn miễn phí và cũng có thể được sử dụng với các nhà cung cấp MySQL khác như Percona và MariaDB (mặc dù không được liệt kê ở đây, nó hoạt động với một số phiên bản MariaDB cũ hơn). Nó cũng hỗ trợ quản lý cài đặt từ gói TAR. Nó cho phép một số tùy chỉnh về đường dẫn tệp cấu hình, lệnh dịch vụ / dừng và đặt tên các phần nhóm MySQL. Một trong những tính năng thú vị là MySQL Workbench sử dụng menu thả xuống cho các giá trị cố định, điều này có thể giúp ích rất nhiều trong việc giảm nguy cơ cấu hình sai từ người dùng, như thể hiện trong ảnh chụp màn hình sau:
Mặt khác, MySQL Workbench không hỗ trợ quản lý nhiều cấu hình máy chủ lưu trữ. phải thực hiện thay đổi cấu hình trên mỗi máy chủ lưu trữ riêng biệt. Nó cũng không đẩy các thay đổi cấu hình vào thời gian chạy, không khởi động lại MySQL rõ ràng có thể ảnh hưởng đến thời gian hoạt động của dịch vụ cơ sở dữ liệu.
Bảng sau đây đơn giản hóa sự khác biệt đáng kể từ tất cả các điểm đã đề cập:
Khía cạnh Cấu hình | MySQL Workbench | ClusterControl |
Hệ điều hành được hỗ trợ cho máy chủ MySQL |
|
|
Nhà cung cấp MySQL |
|
|
Hỗ trợ phần mềm khác |
| |
Cấu hình / Mô tả biến | Có | Không |
Đánh dấu cú pháp tệp cấu hình | Không | Có |
Giá trị cấu hình thả xuống | Có | Không |
Cấu hình nhiều máy chủ | Không | Có |
Tự động đẩy cấu hình vào thời gian chạy | Không | Có |
Tạo mẫu cấu hình | Không | Có |
Chi phí | Miễn phí | Cần đăng ký để quản lý cấu hình |