Saya menggunakan MySQL 5.5 pada mesin lokal untuk menganalisis sejumlah besar data pemerintah. Saya telah membuat database lokal yang berada di drive default saya (Win7 C: drive). Saya ingin menyimpan data di drive E: saya, drive eksternal eSATA yang besar.
Langkah apa yang harus saya ambil?
Jawaban:
datadir
parameter).my.ini
file (ada di direktori instalasi mysql). Ubahdatadir
nilai parameter untuk menunjuk ke lokasi baru.sumber
/
dan bukan \ sebagai pemisah direktori di jalur direktori untukdatadir
. Saya menggunakan WAMPserver pada Windows 10.Meskipun Anda meminta windows, berikut adalah beberapa petunjuk yang bagus untuk mereka yang berakhir di sini mencari petunjuk linux / ubuntu:
Asumsi:
/mountpoint/var/lib/mysql
, mungkin dari komputer yang mati atau instalasi lama/var/lib/mysql
Sumber [email protected]
sumber
Solusi 1:
Solusi kedua (tidak disarankan, tetapi bekerja pada mesin yang sama)
Pada versi 5.6 MySQLInstanceConfig.exe tidak lagi didistribusikan. Fungsi ini sedang digantikan oleh penginstal. http://bugs.mysql.com/bug.php?id=66306
sumber
[ERROR] Cannot find or open table <db>/<table> from the internal data dictionary of InnoDB though the .frm file for the table exists.
. Bagaimana saya bisa memastikan izin diatur dengan benar?Untuk Windows, pada Penginstal MySQL 1.4.6 (2015-04-07) , lokasi data dapat ditentukan dalam kunci registri yang menentukan lokasi
my.ini
file, jadi jika data awalnya dipasang di lokasi non-default yangmy.ini
berkas tidak akan diC:\ProgramData\MySQL\MySQL Server x.x\
.Lokasi nilai registri adalah (setidaknya pada MySQL 5.6):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\
Location
adalahREG_SZ
yang menunjuk ke folder tempat file aplikasi MySQL berada; secara default:C:\Program Files\MySQL\MySQL Server x.x\
DataLocation
adalahREG_SZ
yang menunjuk ke folder di manamy.ini
berada; secara default juga:C:\Program Files\MySQL\MySQL Server x.x\
Juga,
my.ini
path file termasuk dalam perintah layanan di bawah kunci registri ini:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXX
dalamImagePath
REG_EXPAND_SZ
nilai.Nilai default dari string ini adalah:
"C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX
Jadi intinya adalah bahwa untuk memindahkan file data dalam skenario ini Anda harus mengikuti langkah-langkah yang diposting oleh @ITCugas dengan beberapa tambahan.
Berikut langkah-langkah lengkapnya:
DataLocation
nilai registri di atas untuk menemukanmy.ini
lokasi file saat ini , dan jika Anda ingin juga memindahkanmy.ini
file perbaruiDataLocation
path dan pindahkanmy.ini
file ke path baru ini.my.ini
file, Anda perlu memperbarui jalur di kunci registri perintah layanan yang tercantum di atas.my.ini
file, caridatadir
parameternya. Pindahkan file daridatadir
jalur ini ke jalur di mana Anda ingin data berada, dan kemudian perbaruidatadir
parameter dengan jalur baru ini.sumber