Saya ingin menggunakan di Ubuntu dan Windows (dual boot) file database MySql saya yang berada di partisi NTFS. Apakah ini akan berhasil? Ada gotcha?
Saya ingin menggunakan di Ubuntu dan Windows (dual boot) file database MySql saya yang berada di partisi NTFS. Apakah ini akan berhasil? Ada gotcha?
Jawaban:
Ya, itu berfungsi tetapi dengan beberapa kebiasaan. MySQL menggunakan format file yang sama di seluruh platform sehingga yang Anda butuhkan hanyalah berbagi direktori data. Satu masalah adalah bahwa direktori data harus memiliki mysql sebagai pemilik dan grup di ubuntu. Dan Windows tidak peka huruf besar kecil dan Linux peka huruf besar kecil sehingga jaga semua nama tetap seragam: baik seluruh nama huruf kecil atau besar tetapi jangan mencampurnya.
Dari awal hingga akhir; jika Anda sudah memiliki pengaturan hal-hal ini mungkin perlu beberapa penyesuaian agar sesuai dengan pengaturan Anda:
sdXN
sekarang).Pindahkan direktori data mysql dari Ubuntu ke partisi baru.
mkdir /{mountpoint}/mysql_data
sudo mv /var/lib/mysql /{mountpoint/mysql_data
menggunakan mv
menyimpan izin.
Buat direktori mysql baru
sudo mkdir /var/lib/mysql
Pasang partisi NTFS di /var/lib/mysql
. Ubah nama alat menjadi apa yang didapat saat Anda membuat partisi NTFS.
sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
Untuk mengotomatiskan saat boot menemukan partisi UUID dan lokal dan edit /etc/fstab
.
ls -l /dev/disk/by-uuid
locale -a
sudo gedit /etc/fstab
UUID={number_found_with_the_ls-l} /var/lib/mysql ntfs-3g uid=mysql,gid=mysql,umask=0077,locale={your_locale}.utf8 0 0
Ubah jalur 'datadir' /etc/mysql/my.cnf
ke titik/var/lib/mysql/mysql_data
Mulai server mysql dan mengujinya.
Edit file konfigurasi Windows ( my.ini
) dan atur 'datadir' ke X:/mysql_data
(ganti X:
untuk tempat Anda memasangnya di Windows).
Dikompilasi dari topik 1442148 di UF.org .
Saya membuat versi Ubuntu berfungsi; jadi sebagian belum teruji karena saya tidak punya Windows
lower_case_table_names=1
berfungsi dengan baik. Tanpa opsi mount Anda, saya bertemu bug ini (yang memang bug IMHO).
Jika Anda telah menambahkan partisi linux ke lingkungan yang sebelumnya hanya untuk windows, Anda dapat menggunakan database di tempat dengan hanya beberapa perubahan kecil. Versi lama di sini , versi singkat:
Anda harus mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
menjalankannya saat startup (dengan asumsi Anda memasang drive windows Anda /media/windows
menggunakan fstab).
Untuk menghindari pemeriksaan ukuran log innodb, Anda harus memindahkan log innodb untuk partisi ubuntu. Di my.cnf
, tambahkan innodb_log_group_home_dir = /var/log/mysql
sehingga log pergi di sebelah log kesalahan mysql.