MySQL sunucusunu vagrant bootstrap kabuk betiğine yükleme (kurulum nasıl atlanır?)


16

Vagrant Ubuntu 12.04 LTS sanal makineme mysql-server kurmayı denedim. Bunu yaptığımda, kurulum otomatik olarak başlar. Bunu Vagrant çıktısında görebilirsiniz:

Zorunlu olmasa da, MySQL yönetici "kök" kullanıcısı için bir parola ayarlamanız önemle tavsiye edilir. ││││ Bu alan boş bırakılırsa, parola değiştirilmez. MySQL "root" kullanıcısı

Bundan sonra çıktı metni haywire gider - ± ├⎺ ⎼␊⎻┌▒␌␊ ┌␋␉⎽─┌␋├␊3-0 3.7.9-2┤␉┤┼├┤1 (┤⎽␋┼± ...- ama oldukça uzun ve yeşil ve kırmızı renklerle dolu, bu yüzden kurulumun geri kalanının tamamlandığına inanıyorum.

Ama sonra yükleme eksikliğini teyit edebilirim:

sudo apt-get install --just-print mysql-server-5.5 
...
The following NEW packages will be installed:
  mysql-server-5.5

MYSQL sunucusunu yapılandırmak için doğru sinyalleri bir kabuk komut dosyası aracılığıyla nasıl gönderebilirim? Veya yapamıyorsam, yapılandırmayı otomatik olarak başlatmayı nasıl durdurabilirim veya paketi yüklerken bir kez başlatıldığında kurulumu nasıl öldürebilirim?


Yüklemenin geri kalanı tamamlanıyorsa , yeniden yüklemenize izin vermez. Kurulumdan önce bir şifre oluşturmayı denediniz mi?
Anthon

@Anthon Üzgünüm, yazımda bunu iyi açıkladığımı sanmıyorum: Tüm bunları manuel olarak yapılandırabilirim, ancak amacım kurulumumun mümkün olduğunca otomatik hale getirilmesi. Ve bundan sonra (örneğin rvm yükleme) yüklü mysql bağlı birçok adım var.
Sam

Sorunlar kirli bir sistemden kaynaklanmadığı sürece (temiz bir sanal makine kurulumuna kurmaya çalışın) bu, paketin kendisinde bir sorun gibi görünür. Bu gibi durumlarda bazen kurulum dosyasını yamaladım (tam bir yeniden oluşturma değil, sadece ayıkla / değiştir / bir araya getir) ve yerel bir depodan hizmet ettim.
Anthon

@Anthon: / Aşağıdaki gibi bir çözüm bulmayı umuyordum a) Yapılandırma sihirbazını otomatik olarak başlatmayan bir MYSQL sunucu paketi var ya da b) bu ​​tür lansmanları ( apt-get install mysql-server | some_trap_cmd >> some.file) yakalamak için bash-y yolu vardı . Kulağa böyle bir şey yok gibi geliyor mu?
Sam

Sorun, apt-get'in yükleyici dosyasında komut dosyalarını çalıştırmasıdır, komut dosyalarını yamalamadığınız sürece bu tuzakları yakalayamazsınız. Ayrıca, 5.6 mysql'e bir göz atabilir ve fırlatma rampasından kurabilirsiniz , ancak bu tüm bağımlılıkları çekerken daha fazla sorun yaratabilir, ancak belki de yükleme sorunları ortadan kalkmıştır.
Anthon

Yanıtlar:


29

Apt-get kurulumunuzu çalıştırmadan önce debconf-set-selection komutları ekleyerek MySQL kök parolasını bootstrap dosyanızda ayarlayabilirsiniz:

#!/usr/bin/env bash

debconf-set-selections <<< 'mysql-server mysql-server/root_password password MySuperPassword'
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password MySuperPassword'
apt-get update
apt-get install -y mysql-server

Bunun herhangi bir Debian tabanlı sistemde çalıştığını düşünüyorum. Her gün kullanıyorum, kutu tamamen otomatik olarak inşa ediliyor.


1
Müthiş! Bu komutu bilmiyordum
AlvaroAV

1
Ben yoktu debconf-set-selections. Bu mükemmel çalıştı. Teşekkür ederim!
Sam

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.