การอนุญาตขั้นต่ำสำหรับผู้ใช้ในการทำการ mysqldump?


26

ฉันต้องการเริ่มกำหนดเวลาระยะไกล mysqldump crons และฉันต้องการใช้บัญชีพิเศษสำหรับวัตถุประสงค์นั้น ฉันต้องการให้สิทธิ์ขั้นต่ำแก่ผู้ใช้สำหรับการถ่ายโอนข้อมูลเต็มรูปแบบ แต่ฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการดำเนินการดังกล่าว

มันง่ายเหมือน

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

หรือฉันพลาดวิธีที่ดีกว่านี้?

คำตอบ:


24

ฉันเชื่อว่าผู้ใช้เพียงแค่ต้องเลือกการอนุญาตบนตารางที่จะทำการสำรองข้อมูล

แก้ไข: ผู้ชายคนนี้บอกว่าจะกำหนดสิทธิ์ "ล็อคตาราง" เกินไปซึ่งทำให้รู้สึก


นี่เป็นคำตอบที่ถูกต้องหรือไม่ในปี 2560?
Kyslik


5

สำหรับผู้ที่สงสัยนี่คือคำสั่งที่แน่นอน:

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

5

ดูเหมือนว่าคุณต้องการ RELOAD ด้วย ดังนั้น:

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

1

และคุณต้องการเหตุการณ์ถ้าคุณต้องการทิ้งเหตุการณ์ด้วย

และคุณต้องการ TRIGGER ถ้าคุณต้องการทิ้ง TRIGGER ด้วย (แม้สิ่งที่คู่มือบอกว่า!)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.