UNTUK REKOR KOMUNITAS: Pengguna bertanya tentang kompatibilitas format data MySQL antara Ubuntu Linux dan Microsoft Windows. Pengguna bertanya-tanya tentang apakah data yang disimpan dalam format Linux Ubuntu untuk MySQL kompatibel dengan cara MySQL versi Windows menyimpan data sehingga informasi basis data dapat diedit dan dipulihkan baik di Windows maupun MySQL.
Thomas Ward
A: Saya baru saja memberikan jawaban yang luas untuk pertanyaan ini di sini , di Unix & Linux StackExchange .
Pandangan elips
Jawaban:
9
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:
Instal dan setup MySQL di kedua sistem.
Hentikan server mysql jika sedang berjalan.
Buat partisi NTFS baru. Tandai nama perangkat (sebut saja sdXNsekarang).
Pindahkan direktori data mysql dari Ubuntu ke partisi baru.
Jawaban yang sangat bagus! Hanya dua komentar: Sudah ada banyak nama case campuran dan menggunakannya lower_case_table_names=1berfungsi 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/mysqlmenjalankannya saat startup (dengan asumsi Anda memasang drive windows Anda /media/windowsmenggunakan 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/mysqlsehingga log pergi di sebelah log kesalahan mysql.
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.
menggunakan
mv
menyimpan izin.Buat direktori mysql baru
Pasang partisi NTFS di
/var/lib/mysql
. Ubah nama alat menjadi apa yang didapat saat Anda membuat partisi NTFS.Untuk mengotomatiskan saat boot menemukan partisi UUID dan lokal dan edit
/etc/fstab
.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' keX:/mysql_data
(gantiX:
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
sumber
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
, tambahkaninnodb_log_group_home_dir = /var/log/mysql
sehingga log pergi di sebelah log kesalahan mysql.sumber