Cara menginstal dan memulai beberapa instance MySQL pada Windows 2012


12

Saya baru saja menginstal MySQL 5.7 pada Windows 2012 VM. Saya mencoba membuat dan menjalankan banyak contoh tetapi sangat frustrasi karena hal sederhana itu tidak berfungsi.

Saya menginstal MySQL di C: \ Program Files \ MySQL \ MySQL Server 5.7 yang merupakan lokasi default dan kemudian saya menyalin folder dan membuat salinannya untuk membuat instance lain (saya kira ini cara kerjanya?)

Kedua instance MySQL ditunjukkan pada gambar di bawah ini.

Server1 Server1

Server2
Server2

Pengaturan INI untuk kedua server diberikan di bawah ini:

Server1

server-id = 1
log-bin = "mysql-bin"
binlog-ign-db = uji
binlog-ign-db = information_schema
replikasi-ign-db = uji
replikasi-abaikan-db = information_schema
relay-log = "mysql-relay -log "
peningkatan-otomatis-kenaikan = 2
kenaikan-otomatis-offset = 1

Server2
server-id = 2
log-bin = "mysql-bin"
binlog-ign-db = test
binlog-ign-db = information_schema
replicate-ign-db = test
replicate-ign-db = information_schema
relay-log = "mysql- relay-log "
kenaikan-kenaikan
-otomatis = 2 kenaikan-kenaikan-otomatis = 2

Saya menjalankan kedua server dengan membuka command prompt dan mengetik berikut:
"C: \ Program Files \ MySQL \ MySQL Server 5.7 \ bin \ mysqld"
"C: \ Program Files \ MySQL \ MySQL Server 5.7 - 2 \ bin \ mysqld"

Perintah ini tampaknya berjalan dengan sukses karena tidak ada kesalahan yang ditampilkan tetapi ketika saya melihat task manager untuk melihat apakah ada proses mysql yang berjalan, saya tidak melihat apa pun.

Apa yang saya lakukan salah?


Harap edit pertanyaan Anda untuk memasukkan log kesalahan dll.
EEAA

Masalah terpecahkan.
Frank Martin

Apakah Anda ingin saya membuka pertanyaan sehingga Anda dapat mengirim jawaban?
EEAA

Ya jadi saya bisa memposting jawaban.
Frank Martin

Jawaban:


11

Saya yakin Anda mencoba menjalankannya di port yang sama.

Mengubah nomor port menjadi berbeda adalah apa yang membuatnya berfungsi


11

Kesalahan yang saya lakukan adalah menyalin seluruh folder instalasi MySQL. Anda tidak perlu menyalin folder ini.

  • Cukup buat file ini baru untuk setiap instance yang ingin Anda jalankan (contoh yang diberikan di atas) di lokasi apa pun untuk misalnya C: \ MyInstances \ my1.ini.
  • Kemudian buat folder baru untuk misal data1 di C: \ MyInstances \ data1 dan salin mysql dan database information_schema di dalamnya. Anda akan mendapatkan basis data ini dari folder data tempat MySQL diinstal. Pada Windows 2012 (dan mungkin OS server lainnya) biasanya adalah C: \ ProgramData \ MySQL
  • Kemudian tentukan hal berikut dalam file ini Anda.

datadir = C: / MyInstances / data1

  1. Kemudian jalankan perintah berikut yang akan menginstal MySQL sebagai layanan. Setelah layanan dibuat, jalankan layanan.

MySqlpath \ bin \ mysqld - instal mysqld1 --defaults-file = PATH_TO_YOUR_INI_FILE

Tentu saja dalam setiap file ini, Anda harus menentukan nomor port yang berbeda seperti yang disebutkan oleh @Anthony Fornito.


11
  1. Buat folder data terpisah dan berikan KONTROL PENUH ke LAYANAN JARINGAN.
  2. Salin file my.ini ke folder data baru.
  3. Buat file baru di direktori data yang disebut mysql-init.txt dan tambahkan satu baris untuk memastikan bahwa kata sandi pengguna root diatur.

    • ALTER USER 'root'@'localhost' IDENTIFIED BY '[Enter Password]';
  4. Edit file my.ini dengan mengubah port, socket, datadir, dan nama dasar memori bersama. Semuanya perlu berbeda dari contoh MySQL lainnya.

my.ini:

[client]
port=3333
socket=MYSQL2_INST.SOCK
shared-memory-base-name=MYSQL2_INST

[mysqld]
shared-memory-base-name=MYSQL2_INST
socket=MYSQL2_INST.SOCK
port=3333
basedir="C:/Program Files/MySQL/MySQL Server 5.7"
datadir="E:/MySQL2/Data"
  1. Dari baris perintah navigasikan ke ~ \ MySQL Server XY \ bin \ dan jalankan

    • mysqld --install MySQL57-2 --defaults-file=E:\mysql2\data\my.ini --init-file=E:\mysql2\data\mysql-init.txt
  2. Mulai layanan

    • NET START MySQL57-2
  3. Periksa untuk memastikan layanan mulai berhasil. Jika tidak, maka Anda dapat menemukan kesalahan log di folder data lain Anda harus pergi.


mengikutinya, tetapi tidak dapat memulai mendapatkan layanan baru, PS C: \ MySQLInances \ data> net start mysqld Layanan mysqld mulai. Layanan mysqld tidak dapat dimulai. Layanan tidak melaporkan kesalahan. Bantuan lebih lanjut tersedia dengan mengetik NET HELPMSG 3534.
Rajat
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.