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

Cách chạy nhiều phiên bản MySQL trên cùng một máy

Đô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!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Di chuyển cơ sở dữ liệu từ Postgres sang MySQL

  2. Đã xảy ra lỗi JNI, vui lòng kiểm tra cài đặt của bạn và thử lại trong Eclipse x86 Windows 8.1

  3. Tối ưu hóa hiệu suất MySQL / MariaDB với công cụ MySQLTunner

  4. Làm cách nào tôi có thể tìm thấy tất cả các bảng trong MySQL có tên cột cụ thể trong đó?

  5. Hàm MySQL SQRT () - Trả về Căn bậc hai của một số trong MySQL