Saya mendapatkan kesalahan berikut ketika mencoba mengubah direktori data di server ubuntu 10.04.
100809 19:33:00 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
100809 19:33:00 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100809 19:33:00 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
mysql
ubuntu-10.04
directory
Norling Jr.
sumber
sumber
Jawaban:
Setelah beberapa kebingungan umum tentang perizinan, OP menyadari bahwa masalahnya bukan karena ia tidak memiliki hak akses dan lintasan tetapi AppArmor mencegah MySQL membaca dan menulis ke lokasi baru.
Ini solusinya:
Pertama hentikan MySQL, jadi tidak ada yang aneh terjadi saat Anda mengutak-atik:
Kemudian pindahkan semua direktori database ke rumah baru mereka:
Jangan pindahkan file, itu akan dihasilkan oleh mysql, cukup pindahkan folder (yang merupakan basis data).
Kemudian dengan sopan minta AppArmor untuk mengizinkan mysql menggunakan folder baru:
Kemudian beri tahu mysql bahwa datadir telah pindah:
CATATAN: Bergantung pada pengaturan basis data Anda, Anda mungkin perlu mengubah innodb-data-home-dir dll.
Kemudian restart AppArmor untuk membaca pengaturan baru:
Dan mulai lagi MySQL menggunakan datadir baru:
sumber
/new-mysql-dir/ r
atau kalau tidak akan tetap ditolak. Hal-hal dasar Linux tapi saya tidak pernah bisa mendapatkan garis miring yang benar.