Di satu mesin, bagaimana cara memulai dua layanan mysql? Bagaimana cara
menjalankan dua layanan mysql di satu mesin, sesuai dengan dua database?
Jawaban terbaik
26 Jul 10:36 Ada situasi di mana Anda mungkin ingin menjalankan beberapa server di mesin yang sama. Misalnya, Anda mungkin ingin menguji versi MySQL baru tanpa mengganggu pengaturan sistem produksi yang ada, atau Anda mungkin penyedia layanan Internet yang ingin menyediakan instalasi MySQL independen untuk pelanggan yang berbeda.
Jika Anda ingin menjalankan beberapa server, cara termudah adalah dengan mengkompilasi ulang server dengan port TCP/IP dan file soket yang berbeda, sehingga server tersebut tidak mendengarkan pada port atau soket TCP/IP yang sama.
Dengan asumsi server yang ada dikonfigurasi dengan nomor port default dan file soket, maka atur server baru dengan baris perintah konfigurasi seperti ini:
shell> ./configure --with-tcp-port=port_number
--dengan-unix-socket=nama_file
--prefix=/usr/local/mysql-3.22.9
di mana port_number dan file_name harus berbeda dari nomor port default dan nama path file soket, dan nilai --prefix harus menentukan instalasi yang berbeda dari instalasi MySQL yang ada isi.
Anda dapat memeriksa soket dan port yang digunakan oleh MySQL yang sedang menjalankan dengan perintah ini:
shell> mysqladmin -h hostname --port=port_number variabel
Jika Anda memiliki server MySQL yang berjalan pada port yang Anda gunakan, Anda akan mendapatkan tabel beberapa variabel konfigurasi MySQL yang paling penting, termasuk nama soket, dll.
Anda juga harus mengedit skrip init mesin Anda (mungkin "mysql.server") untuk memulai dan mematikan beberapa server mysqld.
Anda tidak perlu mengkompilasi ulang server MySQL baru, cukup memulainya dengan port dan soket yang berbeda. Anda dapat mengubah port dan soket dengan menentukan opsi yang digunakan oleh safe_mysqld saat menjalankan:
shell> /path/to/safe_mysqld --socket=file_name --port=port_number
jika Anda berada di server yang sama dengan server lain yang loggingnya diaktifkan Saat menjalankan server baru di direktori database, Anda juga harus menentukan nama file log menggunakan opsi --log dan --log-update dari safe_mysqld, jika tidak, kedua server mungkin mencoba menulis ke file log yang sama.
Peringatan: Biasanya Anda tidak boleh memiliki 2 server yang memperbarui data dalam database yang sama! Jika OS Anda tidak mendukung penguncian sistem bebas kesalahan, hal ini dapat menyebabkan terjadinya hal yang mengejutkan!
Jika Anda ingin menggunakan direktori database lain untuk server kedua, Anda dapat menggunakan opsi --datadir=path dari safe_mysqld.
Bagus
50% (0) Buruk
50% (0)