Bisakah saya mengonfigurasi MySQL untuk menyimpan database tertentu di tempat yang terpisah pada disk?
Saya masih ingin ada basis data baru untuk pergi ke lokasi default, tetapi ada basis data khusus yang ingin saya simpan di folder Dropbox saya agar tetap disinkronkan di antara beberapa komputer.
Bagaimana saya bisa melakukan ini?
Jawaban:
Tentu saja Anda bisa! Anda harus memberikan izin root . Baca ln halaman manual.
MySQL menyimpan data basis data dalam direktori yang terpisah di
/var/lib/mysql
. Saya pikir, pada awalnya Anda harus membuat dir, di mana Anda ingin meletakkan file database yang dipilih. Berikan root permisson, hentikan deamon MySQL:Salin data Anda ke folder baru Anda:
Hapus dir lama Anda dari file data MySQL: ( Peringatan! SELALU buat SQL dump terlebih dahulu !!! )
Buat symlink kembali ke dir data MySQL: ( Perhatikan! Baca halaman manual ln pertama !!! )
Setelah itu, Anda siap, mulai MySQL Anda:
Peringatan! Jika direktori baru Anda tidak dapat ditulis dan dibaca oleh MySQL, itu tidak akan berhasil! Contoh, masalah umum: Anda menempatkan dir data baru Anda ke folder rumah Anda, folder rumah Anda dibaca dilindungi oleh orang lain (mis: drwxrwx --- Anda Andadir).
Tanyakan, apakah Anda ingin tahu hal-hal lain tentang metode itu!
sumber
/etc/apparmor.d/*mysqld
untuk memasukkan direktori baru juga. Kemudiansudo service apparmor reload
sebelum me-restart MySQL./etc/apparmor.d/local
(pada instal saya sudah ada usr.sbin.mysqld di sana), menambahkan satu/full/path/to/new/database/dir/** rwk,
melakukannya untuk saya ...fstab
seperti ini sehingga drive itu dipasang di sistem file setelah bootup, sekarang semuanya berfungsi.Harap diingat bahwa jika Anda menggunakan Ubuntu, Anda juga perlu menambahkan entri dalam file konfigurasi AppArmour /etc/apparmor.d/usr.sbin.mysqld jika tidak, Anda akan terus mendapatkan kesalahan izin menulis walaupun Anda mengubah file dan folder izin.
sumber