informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Pada sistem Linux, secara default MySQL (atau MariaDB, fork MySQL yang populer) tidak secara langsung mendukung pengoperasian beberapa instance MySQL pada mesin yang sama, dengan setiap instance menggunakan port berbeda dan sistem kata sandi independen. Namun, Anda dapat melakukannya dengan mengonfigurasi beberapa instance MySQL (juga dikenal sebagai multi-instance). Ini biasanya melibatkan konfigurasi port yang berbeda, direktori data, file konfigurasi, dan mungkin izin pengguna untuk setiap instance.
Berikut adalah langkah-langkah dasar untuk mengonfigurasi beberapa instance MySQL:
Pastikan Anda memiliki instalasi MySQL yang berfungsi. Panduan ini mengasumsikan Anda menggunakan MySQL, tetapi jika Anda menggunakan MariaDB, langkah-langkahnya sangat mirip.
Buat direktori data baru untuk setiap instance MySQL:
sudo mkdir -p /data/mysql1 /data/mysql2 | |
sudo chown -R mysql:mysql /data/mysql1 /data/mysql2 |
Di Sini/data/mysql1
Dan/data/mysql2
adalah direktori data dari dua contoh berbeda.
File konfigurasi default untuk MySQL biasanya/etc/my.cnf
(atau/etc/mysql/my.cnf
, tergantung pada distribusi Anda). Anda perlu membuat file konfigurasi baru untuk setiap instance.
sudo cp /etc/my.cnf /etc/mysql1.cnf | |
sudo cp /etc/my.cnf /etc/mysql2.cnf |
Ubah bagian berikut dari setiap file konfigurasi:
[mysqld]
Pengaturan di bawah bagiandatadir
untuk direktori data yang baru dibuat (mis./data/mysql1
atau/data/mysql2
)。port
(Misalnya, instance pertama menggunakan 3306, instance kedua menggunakan 3307).socket
jalur, memastikan jalur tersebut unik.user
Danlog_error
dan opsi lain untuk memastikan bahwa instance berjalan secara independen. Untuk instance MySQL baru, Anda perlu menginisialisasi direktori data.Ini biasanya melibatkan larimysqld --initialize
ataumysql_install_db
(Tergantung pada versi MySQL Anda). Perhatikan bahwa ini mungkin menimpa data yang sudah ada.
sudo mysqld --initialize --user=mysql --datadir=/data/mysql1 | |
sudo mysqld --initialize --user=mysql --datadir=/data/mysql2 |
Anda perlu menulis skrip startup untuk setiap instance atau penggunaansystemd
file unit untuk mengelolanya. Hal ini seringkali rumit dan perlu disesuaikan berdasarkan kebutuhan spesifik dan lingkungan sistem Anda.
Pendekatan yang disederhanakan adalah dengan menggunakanmysqld_safe
Atau jalankan langsung dari baris perintahmysqld
, tapi ini tidak cocok untuk lingkungan produksi.
Setiap instance memiliki kata sandi root default setelah inisialisasi (MySQL 5.7.6 dan yang lebih baru). Anda perlu menetapkan kata sandi independen dan izin pengguna untuk setiap instance.
--socket
Dan--port
pilihan).ALTER USER
pernyataan untuk mengatur kata sandi root.Pastikan Anda memiliki strategi pemantauan dan pencadangan untuk memelihara beberapa instance MySQL Anda.