Varolan datadir yolunu değiştirme


20

Dosyadaki datadiryolu değiştirmek istiyorum my.ini.

Mevcut datadiryolC:/ProgramData/MySQL/MySQL Server 5.1/Data/

Sürücümün boyutu C:30 GB ve MySQL veri klasörü 25 GB kaplıyor. Bu yüzden değiştirmek istiyorum datadiriçin F:/naveen/data.

Mümkün mü?

Makinemde Windows Server 2003 çalışıyor .

Yanıtlar:


26

Yollarınızdan güvenli bir şekilde aşağıdakileri kabul edebilirim:

  • Windows'ta MySQL çalıştırıyorsunuz
  • Yüklemek için MySQL MSI kullandınız

Yapmanız gereken my.ini dosyasını oluşturmak

MSI kullanarak Windows için MySQL yüklerken, my.ini dosyasının olması beklenir C:/ProgramData/MySQL/MySQL Server 5.1.

Lütfen bir DOS Penceresinde aşağıdakileri çalıştırın:

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini

Bazı örnek my.ini dosyalarını göreceksiniz. Ancak, bu klasörde my.ini adında bir dosya yoksa bir tane oluşturmanız gerekir. Biri olsun ya da olmasın, lütfen şunu çalıştırın:

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini

Oluşturmanız istenirse, lütfen bunu yapın.

Ardından, my.ini dosyasındaki [mysqld] grup başlığı altında aşağıdaki girişi oluşturun:

[mysqld]
datadir=F:/naveen/data

Save my.ini

Sonra, mysql DOS komut satırından şu şekilde durdurun:

C:\> net stop mysql

Ardından, yeni konumdaki tüm veri klasörünün bir kopyasını oluşturun

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s

Son adım, başlangıç ​​mysql

C:\> net start mysql

MySQL'e giriş yapmayı deneyin. MySQL'e başarıyla giriş yapabildiğinizde, şu komutu çalıştırın:

show variables like 'datadir';

Eğer F:\naveen\datadatadir olarak gösterir yukarı, Tebrikler, bunu SAĞ YAPTIK !!!

MySQL'in çalıştığı tüm uygulamalarınızdan memnun olduğunuzda, her şeyi silebilirsiniz. C:\ProgramData\MySQL\MySQL Server 5.1\data\*

Bir şans ver !!!


Yukarıdaki adımların Windows Server 2008 için işe yarayacağını biliyor muyum?

Çalışır, ancak büyük olasılıkla 1067 hatası alırsınız. Yeni dizindeki izinleri kontrol edin

2
Bazen servis olarak kaydedilir MySQL57, önce kontrol etmeniz gerekir.
giannis christofakis

2
Noob hatası yaptım ve izinleri kopyalayamadım. mysql yeniden başlamazdı. NETWORK SERVICE'e (diğer çevrimiçi önerilere göre) datadir'e tam erişim sağlamaya çalıştım ve izin hataları attı. Bu size olursa, "Herkes" e veri alt dizinleri üzerinde tam denetim verin ve çocuklara devralın. Ardından üst (datadir) klasörüne gidin, "Gelişmiş" izinlerle devralmayı etkinleştirin ve tüm alt öğelere uygulayın. Daha sonra datadir'inize NETWORK SERVICE ekleyebilir, tam kontrol sağlar ve bu da çocuklara yayılır.
murraybiscuit

2
Bu cevapta kullanmak xcopy /O/X/E/H/Kyerine kullanmalısınız xcopy /S.
Ethan Allen
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.