Berbagi teknologi

Cara membuka beberapa database mysql di Linux dan mengatur kata sandi dan port satu per satu

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:

1. Persiapan

Pastikan Anda memiliki instalasi MySQL yang berfungsi. Panduan ini mengasumsikan Anda menggunakan MySQL, tetapi jika Anda menggunakan MariaDB, langkah-langkahnya sangat mirip.

2. Buat direktori data baru

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/mysql1Dan/data/mysql2adalah direktori data dari dua contoh berbeda.

3. Salin dan ubah file konfigurasi

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.

  • Salin templat profil (jika tidak ada, Anda dapat membuatnya dari konfigurasi default):
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 bagiandatadiruntuk direktori data yang baru dibuat (mis./data/mysql1atau/data/mysql2)。
    • Tetapkan berbedaport(Misalnya, instance pertama menggunakan 3306, instance kedua menggunakan 3307).
    • Anda mungkin juga perlu mengaturnyasocketjalur, memastikan jalur tersebut unik.
    • pengaturan (opsional).userDanlog_errordan opsi lain untuk memastikan bahwa instance berjalan secara independen.

4. Inisialisasi direktori data (jika belum diinisialisasi)

Untuk instance MySQL baru, Anda perlu menginisialisasi direktori data.Ini biasanya melibatkan larimysqld --initializeataumysql_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

5. Mulai instans MySQL

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_safeAtau jalankan langsung dari baris perintahmysqld, tapi ini tidak cocok untuk lingkungan produksi.

6. Tetapkan kata sandi dan izin

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.

  • Masuk ke setiap instance (menggunakan--socketDan--portpilihan).
  • menggunakanALTER USERpernyataan untuk mengatur kata sandi root.
  • Buat pengguna baru dan otorisasi.

7. Pemeliharaan dan pemantauan

Pastikan Anda memiliki strategi pemantauan dan pencadangan untuk memelihara beberapa instance MySQL Anda.

Melihat

  • Langkah-langkah di atas adalah gambaran umum tingkat tinggi dan mungkin perlu disesuaikan dengan lingkungan spesifik Anda.
  • Menjalankan beberapa instance MySQL dapat meningkatkan kompleksitas sistem dan konsumsi sumber daya.
  • Pastikan firewall sistem dan konfigurasi jaringan Anda mengizinkan akses ke setiap instance dari port yang sesuai.