Izin minimum bagi pengguna untuk melakukan mysqldump?

26

Saya ingin memulai penjadwalan crons mysqldump jarak jauh, dan saya lebih suka menggunakan akun khusus untuk tujuan itu. Saya ingin memberi pengguna itu izin minimum untuk mendapatkan dump penuh, tapi saya tidak yakin cara terbaik untuk melakukannya.

Apakah sesederhana

grant SELECT on *.* to '$username'@'backuphost' identified by 'password'; 

atau saya kehilangan cara yang lebih baik?

Matt Simmons
sumber

Jawaban:

24

Saya percaya pengguna hanya perlu memilih izin pada tabel yang akan didukung.

Sunting: Orang ini mengatakan untuk menetapkan izin "tabel kunci" juga, yang masuk akal.

Mike
sumber
Apakah jawaban ini masih valid di tahun 2017?
Kyslik
11

Anda juga perlu SHOW_VIEW, jika ada tampilan dalam DB Anda.

Nathan Friend
sumber
5

Bagi mereka yang bertanya-tanya, inilah perintah yang tepat:

GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
penengkar
sumber
5

Tampaknya Anda juga membutuhkan RELOAD. Begitu:

GRANT SELECT, LOCK TABLES, SHOW VIEW, RELOAD ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
Ventz Petkov
sumber
1

Dan Anda perlu ACARA jika Anda ingin membuang ACARA juga.

Dan Anda perlu TRIGGER jika Anda ingin membuang TRIGGER juga. (terlepas dari apa yang dikatakan manual!)

Jannes
sumber