Seperti yang ditunjukkan ini akan berhasil, jika Anda telah terhubung dengan benar ke database. Pastikan objek Anda berhasil terhubung ke database, dan Anda memiliki nama kolom dan nama tabel yang benar
Tentu saja Anda tidak perlu melakukan semua ini jika menggunakan salah satu layanan Hosting VPS Linux kami, dalam hal ini Anda cukup meminta admin Linux ahli kami untuk memperbaiki kesalahan MySQL ini untuk Anda. Mereka tersedia 24×7 dan akan segera mengurus permintaan Anda
Anda dapat mengekspor basis data sebelumnya, jadi apa penyebabnya? . pembaruan untuk MySQL 5. 7. 31 dan MySQL 8. 0. 21 Juli 2020 memperkenalkan an
Perubahan Tidak Kompatibel. Akses ke tabel INFORMATION_SCHEMA.FILES sekarang membutuhkan hak istimewa.
Perubahan ini memengaruhi pengguna perintah mysqldump, yang mengakses informasi tablespace di tabel FILES, dan karenanya sekarang memerlukan hak istimewa juga. Pengguna yang tidak perlu membuang informasi tablespace dapat mengatasi persyaratan ini dengan menjalankan mysqldump dengan opsi. (Bug #30350829)
Kesalahan ini muncul saat menjalankan mysqldump_ langsung dari baris perintah, mengekspor database menggunakan klien seperti MySQL Workbench atau jika Anda mengelola database WordPress melalui perintah export WP-CLI
Dalam kasus saya, saya mengalami masalah saat menjalankan skrip Python rutin untuk klien migrasi Drupal ke WordPress. Skrip saya menggunakan WP-CLI untuk mengekspor file dump database dan menyebarkannya ke server jarak jauh
Solusi untuk memperbaiki kesalahan hak istimewa proses mysqldump
Perintah mysqldump_ memerlukan setidaknya hak istimewa berikut yang diberikan kepada pengguna
- Hak istimewa SELECT untuk tabel yang dibuang
- TAMPILKAN TAMPILAN untuk tampilan yang dibuang
- TRIGGER untuk pemicu yang dibuang
- LOCK TABLES jika Anda tidak menggunakan opsi --single-transaction
- PROSES jika Anda tidak menggunakan opsi --no-tablespaces
Hak istimewa PROCESS terakhir baru pada MySQL 5. 7. 31 dan MySQL 8. 0. 21 dan mungkin menjadi sumber akar masalah Anda. Anda dapat mengatasi kesalahan hak istimewa proses mysqldump dengan dua cara
- Memperbarui hak istimewa untuk pengguna basis data Anda
- Menjalankan _______________ dengan opsi _______________
Solusi 1. Perbarui hak istimewa pengguna
Memberikan hak istimewa PROSES untuk pengguna mungkin merupakan opsi paling sederhana untuk memperbaiki kesalahan hak istimewa proses mysqldump. Perlu diingat bahwa opsi ini menyajikan. Karena itu Anda harus benar-benar hanya menggunakan opsi ini untuk instalasi server pengembangan lokal Anda sendiri
Untuk memberikan hak istimewa PROCESS, masuk sebagai pengguna administrator dan jalankan kueri berikut
INFORMATION_SCHEMA.FILES_4
Perhatikan bahwa PROSES adalah hak istimewa tingkat global. Itu tidak dapat diterapkan ke database individual. Hak istimewa global bersifat administratif atau berlaku untuk semua database di server MySQL Anda. Mencoba memberikannya pada basis data individual akan menampilkan kesalahan berikut
INFORMATION_SCHEMA.FILES5
Untuk memberikan hak istimewa ke semua database, Anda harus menggunakan sintaks INFORMATION_SCHEMA.FILES6
Solusi 2. Gunakan opsi --no-tablespaces
Jika Anda tidak dapat menetapkan hak istimewa tingkat global untuk pengguna Anda, misalnya, saat melakukannya menghadirkan masalah keamanan yang tidak dapat diterima, Anda harus menentukan opsi --no-tablespaces saat membuang database Anda
INFORMATION_SCHEMA.FILES_9
Apa itu tablespace MySQL?
Kami biasanya hanya peduli dengan objek basis data logis saat bekerja dengan basis data. Namun, data harus disimpan secara fisik di suatu tempat. Di sinilah tablespace masuk. Tablespace adalah file data fisik yang disimpan dalam sistem file host yang menyimpan data untuk satu atau lebih tabel dan indeks
Diagram di bawah memberikan ilustrasi praktis. Ini dari dokumentasi Oracle Concepts, Pengantar Tablespaces, File Data, dan File Kontrol dan merujuk ke database Oracle. Namun demikian, ini dapat membantu Anda memahami bagaimana tablespace berhubungan dengan objek database logis dan file data
Karena itu Anda dapat menggunakan opsi --no-tablespaces jika Anda tidak perlu membuang informasi tablespace. Ini mungkin terjadi pada dump database rutin, misalnya saat mengekspor database untuk migrasi WordPress
Tentang akses mysqldump ditolak kesalahan hak istimewa PROSES
mysqldump mengakses informasi tablespace di tabel FILES. Sebelum MySQL5. 7. 31 dan 8. 0. 21, pengguna Anda dapat menjalankan mysqldump tanpa hak istimewa PROCESS. Namun, pengguna yang menjalankan mysqldump setelah pembaruan memerlukan hak istimewa PROCESS untuk mengakses INFORMATION_SCHEMA. tabel FILES. Menjalankan mysqldump_ tanpa hak istimewa PROCESS akhirnya memberi Anda kesalahan Akses ditolak
Hati-hati dengan hak istimewa PROSES
Menurut dokumentasi MySQL, akses kontrol ke informasi tentang pernyataan yang dieksekusi oleh sesi
Ini adalah hak istimewa administrasi server dan tidak boleh diberikan kepada semua pengguna. Ini karena mungkin menampilkan teks dari kueri yang sedang dijalankan. Oleh karena itu, setiap pengguna dengan hak istimewa PROCESS dapat melihat kueri yang dikeluarkan oleh orang lain. Inilah bahayanya. pertanyaan ini, seperti PROCESS_5, mungkin menunjukkan rahasia
Untuk informasi selengkapnya, lihat Masalah Keamanan Umum dan Sistem Hak Istimewa Akses MySQL dari Manual Referensi MySQL O'Reilly