Apa hak minimum yang diperlukan untuk mengubah batasan kunci asing?
Skrip migrasi saya berhenti berfungsi setelah MySQL 5.5.41 memperbaiki bug ini:
- InnoDB mengizinkan kunci asing untuk dibuat yang mereferensikan tabel induk di mana pengguna tidak memiliki hak yang memadai. (Bug # 18790730)
Saya mendapatkan kesalahan ini:
SQLSTATE [42000]: Kesalahan sintaksis atau pelanggaran akses: 1142 REFERENSI perintah ditolak untuk pengguna 'foo' @ 'localhost' untuk tabel 'core.users' (SQL: ubah tabel `user_baz` tambahkan batasan user_baz_user_id_foreign kunci asing (` user_id`) referensi `core`.`users` (` id`) pada penghapusan kaskade saat kaskade pembaruan)
Yang berarti saya harus memperbaiki hak istimewa. Apa hak minimum yang saya butuhkan?
GRANT REFERENCES ON test.user_baz TO 'foo'@'localhost';
Sebagai contoh:
sumber
Pertama, jika semuanya gagal, baca dokumentasi (bagian Catatan Penggunaan).
Di bawah ini adalah contohnya.
sumber