Saya mencoba mencadangkan database menggunakan perintah dump MySQL, namun, perintah tersebut gagal dengan pesan kesalahan 'Error:Access Deny; Anda memerlukan (setidaknya satu dari) hak PROCESS untuk operasi ini' . Berikut pesan kesalahan lengkapnya.
$ mysqldump -u dbuser -p tg_db > tg_db.sql Enter password: mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces
Saya telah membuang database seperti ini selama bertahun-tahun dan perintah tiba-tiba gagal. Bagaimana saya mengatasi kesalahan ini? Ini dia.
Perbaiki Kesalahan:Akses ditolak; Anda memerlukan (setidaknya satu dari) hak PROCESS untuk operasi ini
Yang saya lakukan hanyalah menambahkan ‘--no-tablespaces
' ke perintah seperti yang ditunjukkan di bawah ini:
$mysqldump -u dbuser -p tg_db --no-tablespaces > tg_db.sql
Dan itu berhasil. Jadi apa itu --no-tablespaces
opsi dan mengapa saya harus menambahkannya?
Nah, perubahan ini terjadi dari MySQL versi 5.7.31+ dan versi yang terinstal di server saya adalah 8.0.23. Menurut dokumentasi,
mysqldump membutuhkan setidaknya hak istimewa SELECT untuk tabel yang dibuang, SHOW VIEW untuk tampilan yang dibuang, TRIGGER untuk pemicu yang dibuang, LOCK TABLES jika opsi –transaksi tunggal tidak digunakan, dan (mulai MySQL 8.0.21) PROCESS jika –no-tablespaces pilihan tidak digunakan. Opsi tertentu mungkin memerlukan hak istimewa lain seperti yang tercantum dalam deskripsi opsi.
Lihat juga opsi –no-tablespaces. Opsi ini menghapus CREATE LOGFILE GROUP
dan CREATE TABLESPACE
pernyataan dari output.
Tapi kenapa PROCESS
hak istimewa diperlukan untuk mysqldump
memerintah? Karena mysqldump
mencoba mengakses INFORMATION_SCHEMA.FILES
tabel yang membutuhkan hak PROCESS. Nah, hak istimewa dapat ditambahkan melalui GRANT
pada tingkat global, atau satu database atau tabel. Tapi PROCESS
hak istimewa perlu ditambahkan pada tingkat global seperti yang ditunjukkan di bawah ini.
GRANT PROCESS ON *.* TO user@localhost;
Mengapa kesalahan ini tidak ditampilkan untuk semua pengguna? Pengguna root MySQL tidak terpengaruh, jelas. Perilaku ini mungkin berbeda untuk pengguna lain berdasarkan tingkat hak istimewa mereka.