Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Menjalankan Beberapa Instance MySQL di Mesin yang Sama

Terkadang Anda mungkin perlu menjalankan beberapa instance MySQL di satu server. Misalnya, Anda mungkin perlu menguji instance MySQL yang berbeda untuk staging, testing, dan produksi. Pada artikel ini, kita akan melihat cara menjalankan beberapa instance MySQL pada mesin yang sama, tetapi port yang berbeda, dengan file logging dan parameter konfigurasi yang berbeda.


Cara Menjalankan Beberapa Instance MySQL pada Mesin yang Sama

Berikut adalah langkah-langkah untuk menjalankan beberapa instance MySQL pada mesin yang sama.


1. Buka file konfigurasi MySQL

Biasanya, Anda akan menemukan file konfigurasi MySQL di /etc/mysql/my.cnf . Buka terminal dan jalankan perintah berikut untuk membuka file konfigurasi MySQL.

$ sudo vi /etc/mysql/my.cnf


2. Konfigurasikan beberapa instance MySQL

Anda akan menemukan konfigurasi default MySQL yang mirip dengan yang ditunjukkan di bawah ini.

[mysqld] 
user = mysql 
pid-file = /var/run/mysqld/mysqld.pid 
socket = /var/run/mysqld/mysqld.sock 
port = 3306 
datadir = /data/mysql/mysql

Copy+Paste blok kode di atas di bawahnya dalam file yang sama. Ganti [mysqld] dengan [mysqld1] dan ubah nilai port menjadi 3307. Ini akan membuat instance baru mysqld1 dijalankan pada port 3307 yang berbeda dengan nama proses yang berbeda mysqld1. Demikian pula, ubah nama file variabel pid-file, socket dan datadir dengan seperti yang ditunjukkan di bawah ini.

Pastikan menyalin folder datadir untuk setiap instance di bawah ini. Pastikan juga bahwa pengguna mysql pengguna memiliki izin akses untuk itu. Setiap instance membutuhkan direktori datanya sendiri.

[mysqld1] 
user = mysql 
pid-file = /var/run/mysqld/mysqld1.pid 
socket = /var/run/mysqld/mysqld1.sock 
port = 3307 
datadir = /data/mysql/mysql1

Sekarang mysqld1 akan dijalankan sebagai instance terpisah dari mysqld

Demikian pula, Anda dapat membuat lebih banyak instance seperti yang ditunjukkan di bawah ini

[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

Pastikan Anda menyediakan file pid, file soket, dan direktori data yang berbeda untuk setiap instance dan pastikan bahwa pengguna mysql memerlukan izin direktori karena mysql pengguna harus dapat membuat file dan direktori yang diperlukan.


3. Kelola beberapa instance

Anda dapat memulai setiap instance secara terpisah menggunakan mysqld perintah di bawah ini. Ganti mysqlN dengan contoh pilihan Anda (mis. mysql1, mysql2, dll)

mysqld --initialize --user=mysql --datadir=/home/mysql/mysqlN

Jika karena alasan tertentu, konfigurasi di atas tidak bekerja untuk Anda, salin file my.cnf ke /etc/my.cnf lokasi dan coba lagi. Terkadang, mysql tidak mendaftarkan beberapa instance yang dikonfigurasi di /etc/mysql/my.cnf

$ sudo cp /etc/mysql/my.cnf /etc/my.cnf

Jika Anda ingin masuk ke instance tertentu (misalnya mysqld1) dari baris perintah, Anda perlu menentukan lokasi file soketnya dengan opsi -S. Jika tidak, Anda akan masuk ke instance MySQL default.

mysql -u root -p -S /var/run/mysqld/mysqld1.sock

Semoga artikel ini membantu Anda mengonfigurasi dan mengelola beberapa instance MySQL di server yang sama.

Butuh alat pelaporan untuk MySQL? Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EXTRACT() Contoh – MySQL

  2. Bagaimana cara melakukan penyisipan massal di MySQL?

  3. Cara Membuat Script dari Diagram di MySQL Workbench

  4. Cara Menghitung Margin Di MySQL

  5. Koneksi MySQL tidak berfungsi:2002 Tidak ada file atau direktori seperti itu