Yanıtlar:
Windows CLI'yı Yönetici olarak açın ve MySQL'i kapatın
net stop mysql
Verileri Kopyala D:\ProgramData\Data
xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
Oluştur veya düzenle C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
Bunu şuraya ekle: my.ini
[mysqld]
datadir = D:/ProgramData/Data
Başlangıç MySQL
net start mysql
Yürütemezseniz net start mysql
, Windows kontrol panelini deneyin.
MySQL'e giriş yapın ve her şeyin iyi olduğunu doğrulayın
MySQL'e giriş yaptığınızda bunu çalıştırın
mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
Yeni veri dizininize varsayılan veri dizininin kullandığı kullanıcılar için Ağ Hizmeti ve Yönetici için aynı izinleri vermeyi unutmayın , aksi takdirde korkunç "başlatıldı ve sonra durduruldu" hatasına neden olur. Yenisinin çalıştığından emin olana kadar bu dizini silmeyin.
Bu işe yaramazsa, geri alma planı şöyledir:
net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
Kurulumdan sonra veritabanı dizini nasıl değiştirileceği için Windows 10'da MySQL sunucusu 8.0 için geçerli bir cevap ekleyerek (internette aradım ve bir çözüm bulamadım ve neredeyse çıldırdım, bu yüzden bu birine yardımcı olur umarım).
İlk adımlar MySQL Server 5.6 için olağan diğer talimatlarla aynıdır. Tek fark temel olarak 3. adımdır:
Hizmetlere gidin (örn. WIN + R tuşlarına basın, yazın services.msc
, enter tuşuna basın ) ve MySQL80
sağ tıklayıp 'durdur' düğmesini tıklatarak hizmeti durdurun (kurulum sırasında hizmet adı belirtilir, bu nedenle ad sizin için farklı olabilir).
Veritabanı klasörünü istediğiniz yere taşıyın. Başlangıç konumu genellikle C:\ProgramData\MySQL\MySQL Server 8.0\data
. İçinde C:\ProgramData\MySQL\MySQL Server 8.0\
klasöründe, bir olmalı my.ini
dosyası. Notepad ++ (veya başka bir not defteri) ile düzenlemek ve eski konumdan bazı biçimlerde geçen satırları aramak için açın. İki kez meydana gelmesi gerekir (biri için datadir
, biri için secure-file-priv
). Her ikisini de karşılık gelen yeni konuma yeniden adlandırın (muhtemelen datadir
parçayı yeniden adlandırmanız yeterlidir , ancak üzgün olmaktan daha iyi olabilir). Başlangıçta, genellikle şöyle görünürler:
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
ve
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
Dolayısıyla, yeni konum olması gerekiyorsa E:/MySQL/MySQL Server 8.0/...
, her iki girişi de şu şekilde yeniden adlandırın:
datadir=E:/MySQL/MySQL Server 8.0/Data
ve
secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
Şimdi, veritabanı hareketli ve girişleri yeniden adlandırma sonra my.ini
tekrar hizmetini yeniden ÖNCE kayıt düzenleyicisini açın, dosyaya (örneğin basın WIN + R, "regedit", butonu tıklayın) için navigasyon Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80
(bir kez daha, MySQL80
bir kurulum sırasında seçtiğiniz ve farklılık gösterebilecek MySQL hizmetinin hizmet adını MySQL80
) girin ve ImagePath
girişi sağ tıklayın ve değiştir'i seçin. Buna benzer bir dize görüntülenmelidir:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80
Bu, temel olarak, hizmet tarafından ek bir yapılandırma dosyası parametresiyle, yani my.ini
daha önce değiştirdiğimiz dosyayla yürütülen gerçek exe dosyasına bağlantıdır . Bu nedenle, elbette, yapılandırıldığından beri yapılandırma dosyasının yolunun da güncellenmesi gerekir, bu nedenle bu örnek için şu şekilde değiştirilecektir:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80
Elbette, yalnızca yapılandırma dosyasının yolunun değiştirilmesi gerektiğini unutmayın.
Şimdi servis yeniden başlatılabilir! Hizmetlere tekrar gidin MySQL80
ve 'başlat' seçeneğini tekrar seçmek için hizmete sağ tıklayın ve sorunsuz bir şekilde yeniden başlamalıdır. 3. adım atlanırsa, yeniden başlatma genellikle çalışmaz!