Windows 2012'de birden çok MySQL örneği nasıl yüklenir ve başlatılır


12

MySQL 5.7'yi Windows 2012 VM'ye yeni yükledim. Birden çok örnek oluşturmaya ve çalıştırmaya çalışıyorum ama böyle basit bir şeyin çalışmadığı için çok sinirliyim.

MySQL'i varsayılan konum olan C: \ Program Files \ MySQL \ MySQL Server 5.7'ye yükledim ve klasörü kopyaladım ve başka bir örnek oluşturmak için başka bir kopyasını aldım (sanırım bu nasıl çalışıyor?)

Her iki MySQL örneği aşağıdaki resimde gösterilmektedir.

Sunucu 1 Sunucu 1

Sunucu2
Sunucu2

Her iki sunucu için INI ayarları aşağıda verilmiştir:

Sunucu 1

server-id = 1
log-bin = "mysql-bin"
binlog-ignore-db = test
binlog-ignore-db = info_schema
replicate-ignore-db = test
replicate-ignore-db = info_schema
geçiş-log = "mysql-röle -log "
otomatik artış-artış = 2
otomatik artış-ofset = 1

Server2
server-id = 2
log-bin = "mysql-bin"
binlog-ignore-db = test
binlog-ignore-db = bilgi_sema
replicate-ignore-db = test
replicate-ignore-db = info_schema
relay-log = "mysql- röle günlüğü "
otomatik artış-artış = 2
otomatik artış-ofset = 2

Her iki sunucuyu da komut istemini açıp aşağıdakileri yazarak çalıştırıyorum:
"C: \ Program Files \ MySQL \ MySQL Server 5.7 \ bin \ mysqld"
"C: \ Program Files \ MySQL \ MySQL Server 5.7 - 2 \ bin \ mysqld"

Hata gösterilmediği için komut başarıyla çalışıyor gibi görünüyor, ancak herhangi bir mysql işleminin çalışıp çalışmadığını görmek için görev yöneticisine baktığımda hiçbiri görmüyorum.

Neyi yanlış yapıyorum?


Lütfen sorunuzu hata günlükleri vb.
İçerecek

Sorun çözüldü.
Frank Martin

Bir cevap gönderebilmek için soruyu açmamı ister misiniz?
EEAA

Evet, böylece cevap gönderebilirim.
Frank Martin

Yanıtlar:


11

Onları aynı limanda çalıştırmaya çalıştığınıza inanıyorum.

Bağlantı noktası numaralarının farklı olmasını sağladı.


11

Yaptığım hata tüm MySQL kurulum klasörünü kopyalamaktı. Bu klasörü kopyalamanız gerekmez.

  • C: \ MyInstances \ my1.ini gibi herhangi bir konumda çalıştırmak istediğiniz her örnek için (yukarıda verilen örnekler) yeni bir ini dosyası oluşturmanız yeterlidir.
  • Ardından C: \ MyInstances \ data1 içinde data1 için yeni bir klasör oluşturun ve içindeki mysql ve information_schema veritabanlarını kopyalayın . Bu veritabanlarını MySQL'in kurulu olduğu veri klasöründen alacaksınız. Windows 2012'de (ve muhtemelen diğer sunucu işletim sistemlerinde) genellikle C: \ ProgramData \ MySQL
  • Ardından ini dosyanızda aşağıdakileri tanımlayın.

datadir = C: / MyInstances / veri1

  1. Ardından MySQL'i hizmet olarak yükleyecek aşağıdaki komutu çalıştırın. Hizmetler oluşturulduktan sonra hizmeti çalıştırın.

MySqlpath \ bin \ mysqld - mysqld1'i yükle --defaults-file = PATH_TO_YOUR_INI_FILE

Elbette her ini dosyasında @Anthony Fornito tarafından belirtildiği gibi farklı bir bağlantı noktası numarası tanımlamanız gerekir.


11
  1. Ayrı bir veri klasörü oluşturun ve AĞ HİZMETİ'ne TAM KONTROL verin.
  2. My.ini dosyasını yeni veri klasörüne kopyalayın.
  3. Veri dizininde mysql-init.txt adlı yeni bir dosya oluşturun ve kök kullanıcının şifresinin ayarlandığından emin olmak için tek bir satır ekleyin.

    • ALTER USER 'root'@'localhost' IDENTIFIED BY '[Enter Password]';
  4. Bağlantı noktasını, soketi, veri dizinini ve paylaşılan bellek tabanı adını değiştirerek my.ini dosyasını düzenleyin. Hepsinin diğer MySQL örneklerinden farklı olması gerekir.

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. Komut satırından ~ \ MySQL Server XY \ bin \ dizinine gidin ve çalıştırın

    • mysqld --install MySQL57-2 --defaults-file=E:\mysql2\data\my.ini --init-file=E:\mysql2\data\mysql-init.txt
  2. Hizmeti başlat

    • NET START MySQL57-2
  3. Hizmetin başarıyla başlatıldığından emin olun. Değilse, veri klasöründe bir hata günlüğü bulabilirseniz, gitmek için iyi olmalısınız.


izledi, ancak yeni hizmet alma başlatılamıyor, PS C: \ MySQLInstances \ data> net start mysqld mysqld hizmeti başlatılıyor. Mysqld hizmeti başlatılamadı. Hizmet bir hata bildirmedi. NET HELPMSG 3534 yazarak daha fazla yardım alabilirsiniz.
Rajat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.