Score:-1

เรียกใช้ bash shell โดยใช้รหัสผ่านกับงาน cron

ธง cn

ฉันมี bash shell เพื่อสำรองฐานข้อมูลที่ต้องใช้รหัสผ่านในการเปิด ฉันต้องการรันงาน cron แต่ฉันจะทำให้ทำงานโดยอัตโนมัติโดยไม่กรอกรหัสผ่านฐานข้อมูลได้อย่างไร

เวอร์ชันเซิร์ฟเวอร์ Ubuntu : 20.04.3 เวอร์ชัน Mysql : 8.0.26

คำสั่งที่ฉันพยายาม: mysqldump -u root -p "dbname" > backupname.sql พอกดเข้าระบบถามรหัสผ่าน เมื่อฉันลบ -หน้า, ข้อผิดพลาดเกิดขึ้น.

David avatar
cn flag
สคริปต์มีลักษณะอย่างไร
cn flag
Ray
[สิ่งนี้] (https://dba.stackexchange.com/questions/72417/credentials-file-for-running-mysql-related-jobs-via-script) ช่วยได้ไหม
in flag
หากคุณใช้ MySQL บน Ubuntu เวอร์ชันใหม่ และคุณไม่ได้จงใจลบล้างกลไกการอนุญาตของซอฟต์แวร์ คุณไม่จำเป็นต้องระบุรหัสผ่านเมื่อทำการสำรองข้อมูลผ่าน `mysqldump` บัญชีระบบ "รูท" จะเชื่อมต่อกับบัญชี "รูท" MySQL โดยไม่ต้องใช้รหัสผ่าน เนื่องจากเป็นส่วนหนึ่งของการดูแลระบบ
Rendiero avatar
cn flag
@ David ฉันยังไม่ได้เขียนคำสั่งเพราะฉันต้องการทราบวิธีการทำก่อน
Rendiero avatar
cn flag
@Ray ดูเหมือนว่าป้อนรหัสผ่านผู้ใช้ไม่ใช่รหัสผ่านฐานข้อมูล mysql
Rendiero avatar
cn flag
@matigo ฉันได้ลองแล้ว แต่ระบบขอให้ป้อนรหัสผ่านฐานข้อมูล mysql
in flag
โปรด [แก้ไข] คำถามของคุณเพื่อตอบคำถามเหล่านี้: (1) คุณใช้ Ubuntu เวอร์ชันใด (2) คุณใช้ MySQL เวอร์ชันใด (3) คุณได้ลองอะไร *แน่นอน* บ้าง (พร้อมตัวอย่างโค้ด) â จนกว่าคำถามสามข้อนี้จะได้รับคำตอบ แทบเป็นไปไม่ได้เลยที่ใครจะเสนอวิธีแก้ปัญหาใดๆ
Rendiero avatar
cn flag
@matigo ฉันแก้ไขแล้ว คุณช่วยได้ไหม
Score:0
ธง in

เพื่อที่จะใช้ mysqldump กับ ราก บัญชี MySQL คุณจะต้องนำหน้าคำสั่งของคุณด้วย ซูโด:

sudo mysqldump database_name > backup.sql

หากคุณต้องการเรียกใช้ผ่านงาน cron คุณสามารถทำได้ดังนี้:

0 3 * * * ชื่อฐานข้อมูล mysqldump > /path/to/backups/backup.sql

โบนัส หากคุณต้องการบีบอัดข้อมูลสำรองนั้นและให้ชื่อไฟล์มีวันที่ คุณสามารถทำสิ่งนี้ได้:

0 3 * * * ฐานข้อมูล mysqldump_name | gzip > /path/to/backups/backup_$(วันที่ +\%Y-\%m-\%d).gz

อย่าลืมรวมสิ่งที่จำเป็น --กิจวัตร และ --ทริกเกอร์ ตัวเลือกในของคุณ mysqldump คำสั่งหากฐานข้อมูลของคุณมีขั้นตอนหรือทริกเกอร์ที่เก็บไว้

Rendiero avatar
cn flag
ขอบคุณ ฉันจะพยายาม
Score:0
ธง in

โดยทั่วไป คุณสามารถเพิ่มสิ่งต่อไปนี้ให้กับคุณได้ my.cnfไฟล์

[mysqldump]
ผู้ใช้=mysqluser
รหัสผ่าน = ความลับ

หรือคุณสามารถส่งออกสิ่งต่อไปนี้ก่อนที่จะโทร mysqldump

MYSQL_PWD=รหัสผ่านลับของคุณ

ใช้ -หน้า พารามิเตอร์ที่คุณพยายามไม่สนับสนุนอย่างยิ่งเนื่องจากเหตุผลด้านความปลอดภัย

ข้อมูลเพิ่มเติมและโซลูชันเพิ่มเติมเกี่ยวกับ https://stackoverflow.com/questions/9293042/how-to-perform-a-mysqldump-without-a-password-prompt

โพสต์คำตอบ

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