Đôi khi bạn có thể cần chạy nhiều phiên bản MySQL trên một máy chủ. Ví dụ:bạn có thể cần phải kiểm tra các phiên bản MySQL khác nhau để dàn dựng, thử nghiệm và sản xuất. Trong bài viết này, chúng ta sẽ xem xét cách chạy nhiều phiên bản MySQL trên cùng một máy, nhưng các cổng khác nhau, với các tệp ghi nhật ký và thông số cấu hình khác nhau.
Cách chạy nhiều phiên bản MySQL trên cùng một máy
Dưới đây là các bước để chạy nhiều phiên bản MySQL trên cùng một máy.
1. Mở tệp cấu hình MySQL
Thông thường, bạn sẽ tìm thấy tệp cấu hình MySQL tại /etc/mysql/my.cnf . Mở thiết bị đầu cuối và chạy lệnh sau để mở tệp cấu hình MySQL.
$ sudo vi /etc/mysql/my.cnf
2. Định cấu hình nhiều phiên bản MySQL
Bạn sẽ tìm thấy cấu hình MySQL mặc định tương tự như những gì được hiển thị bên dưới.
[mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 datadir = /data/mysql/mysql
Sao chép + Dán khối mã trên vào bên dưới nó trong cùng một tệp. Thay thế [mysqld] với [ mysqld1] và thay đổi giá trị cổng thành 3307. Điều này sẽ tạo ra phiên bản mới mysqld1 chạy trên một cổng khác 3307 với một tên quy trình khác mysqld1. Tương tự, thay đổi tên tệp của các biến pid-file, socket và datadir bằng cách như được hiển thị bên dưới.
Đảm bảo sao chép thư mục datadir cho từng trường hợp bên dưới. Đồng thời đảm bảo rằng người dùng mysql người dùng có quyền truy cập vào nó. Mỗi phiên bản cần có thư mục dữ liệu riêng.
[mysqld1] user = mysql pid-file = /var/run/mysqld/mysqld1.pid socket = /var/run/mysqld/mysqld1.sock port = 3307 datadir = /data/mysql/mysql1
Hiện tại mysqld1 sẽ chạy dưới dạng một phiên bản riêng biệt hơn mysqld
Tương tự, bạn có thể tạo thêm các phiên bản khác như hình dưới đây
[mysqld2] user = mysql pid-file = /var/run/mysqld/mysqld2.pid socket = /var/run/mysqld/mysqld2.sock port = 3308 datadir = /data/mysql/mysql2 .... [mysqldN] user = mysql pid-file = /var/run/mysqld/mysqldN.pid socket = /var/run/mysqld/mysqldN.sock port = N datadir = /data/mysql/mysqlN
Đảm bảo rằng bạn cung cấp tệp pid, tệp socket và dir dữ liệu khác nhau cho từng trường hợp và đảm bảo rằng người dùng mysql có quyền thư mục bắt buộc vì mysql người dùng sẽ có thể tạo các tệp và thư mục cần thiết.
3. Quản lý nhiều phiên bản
Bạn có thể bắt đầu từng phiên bản riêng biệt bằng cách sử dụng mysqld lệnh bên dưới. Thay thế mysqlN với sự lựa chọn của bạn về ví dụ (ví dụ:mysql1, mysql2, v.v.)
mysqld --initialize --user=mysql --datadir=/home/mysql/mysqlN
Nếu vì lý do nào đó, cấu hình trên không hoạt động với bạn, hãy sao chép tệp my.cnf vào /etc/my.cnf vị trí và thử lại. Đôi khi, mysql không đăng ký nhiều phiên bản được định cấu hình tại /etc/mysql/my.cnf
$ sudo cp /etc/mysql/my.cnf /etc/my.cnf
Nếu bạn muốn đăng nhập vào bất kỳ phiên bản cụ thể nào (ví dụ:mysqld1) từ dòng lệnh, bạn cần chỉ định vị trí tệp socket của nó với tùy chọn -S. Nếu không, bạn sẽ đăng nhập vào phiên bản MySQL mặc định.
mysql -u root -p -S /var/run/mysqld/mysqld1.sock
Hy vọng rằng, bài viết này sẽ giúp bạn cấu hình và quản lý nhiều phiên bản MySQL trên cùng một máy chủ.
Cần một công cụ báo cáo cho MySQL? Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!