Mengubah Direktori Data pada MySQL DB Server

10

Saya telah menginstal server mysql 5.6.24 pada Windows Server 2012 R2.

Saya mengimpor file dump dan file data disimpan di C:\ProgramData\MySQL\MySQL Server 5.6\data

Saya ingin mengubah direktori seperti D:\ProgramData\Data.

Bisakah Anda membantu saya?

pengguna73314
sumber

Jawaban:

10
  1. Buka Windows CLI sebagai Administrator dan Shutdown MySQL

    net stop mysql
  2. Salin Data ke D:\ProgramData\Data

    xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
  3. Buat atau edit C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

    Tambahkan ini ke my.ini

    [mysqld]
    datadir = D:/ProgramData/Data
    
  4. Startup MySQL

    net start mysql

    Jika Anda tidak dapat menjalankan net start mysql, coba panel kontrol Windows.

  5. Login ke MySQL dan verifikasi semuanya baik

Saat Anda masuk ke MySQL, jalankan ini

mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';

Ingatlah untuk memberikan direktori data baru Anda izin penuh yang sama untuk pengguna Layanan Jaringan dan Administrator yang digunakan oleh dir data default, jika tidak maka akan menyebabkan kesalahan "mulai dan kemudian dihentikan" yang ditakuti. Jangan hapus dir ini sampai Anda yakin bahwa yang baru Anda berfungsi.

Jika ini tidak berhasil, berikut adalah paket kembalikan:

net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
RolandoMySQLDBA
sumber
0

Menambahkan jawaban saat ini untuk server MySQL 8.0 pada Windows 10 untuk cara mengubah direktori database setelah instalasi (saya mencarinya di internet dan tidak menemukan solusi dan hampir menjadi gila, jadi saya harap ini membantu seseorang).

Langkah-langkah pertama sama dengan instruksi biasa lainnya untuk MySQL Server 5.6. Satu-satunya perbedaan pada dasarnya adalah langkah ke-3:

  1. Pergi ke layanan (mis. Tekan WIN + R, ketik services.msc, tekan enter) dan hentikan MySQL80layanan melalui klik kanan dan klik 'berhenti' (nama layanan ditentukan selama instalasi, jadi nama mungkin berbeda untuk Anda).

  2. Pindahkan folder basis data ke mana pun Anda inginkan. Lokasi awal biasanya C:\ProgramData\MySQL\MySQL Server 8.0\data. Di dalam C:\ProgramData\MySQL\MySQL Server 8.0\folder, harus ada my.inifile. Buka untuk mengeditnya dengan Notepad ++ (atau notepad lainnya) dan cari baris yang menyebutkan lokasi lama dalam beberapa bentuk. Harus ada dua kejadian (satu untuk datadir, satu untuk secure-file-priv). Ganti nama kedua menjadi lokasi baru yang sesuai (mungkin itu cukup untuk hanya mengganti nama datadirbagian, tetapi lebih baik aman daripada menyesal). Awalnya, mereka biasanya akan terlihat seperti ini:

    datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data

    dan

    secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

    Jadi jika lokasi baru seharusnya E:/MySQL/MySQL Server 8.0/..., maka ganti nama kedua entri seperti ini:

    datadir=E:/MySQL/MySQL Server 8.0/Data

    dan

    secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
  3. Sekarang, setelah memindahkan database dan mengganti nama entri dalam my.inifile, SEBELUM Anda memulai kembali layanan, buka editor registri (misalnya tekan MENANG + R, ketik "regedit", tekan enter), arahkan ke Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80(sekali lagi, MySQL80ini adalah nama layanan dari layanan MySQL yang Anda pilih selama instalasi dan mungkin berbeda dari MySQL80) dan klik kanan ImagePathentri dan pilih modifikasi. Seharusnya ada string yang ditampilkan mirip dengan ini:

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80

    Ini pada dasarnya adalah tautan ke file exe aktual yang dijalankan oleh layanan dengan parameter config-file tambahan, yaitu my.inifile yang telah kami modifikasi sebelumnya. Oleh karena itu, di sini, tentu saja, path ke file konfigurasi perlu diperbarui juga, karena sudah dipindahkan, jadi untuk contoh ini, itu akan diubah menjadi:

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80

    Perhatikan bahwa tentu saja, hanya path file konfigurasi yang perlu diubah.

  4. Sekarang layanan dapat dimulai kembali! Pergi ke layanan lagi dan klik kanan pada MySQL80layanan untuk memilih opsi 'mulai' lagi dan itu harus restart tanpa masalah. Jika langkah 3 dilewati, restart biasanya tidak akan berhasil!

Kushy
sumber