ฉันจะเพิกเฉยข้อผิดพลาดกับ mysqldump ได้อย่างไร


12

เมื่อทิ้งฐานข้อมูลฉันได้รับ

mysqldump: Couldn't execute 'show create table `some_table`': execute command denied to user 'some_user'@'%' for routine 'some_routime' (1370)

แล้วการทุ่มตลาดก็หยุดลง

ฉันจะทำให้ mysqldump ดำเนินการต่อได้อย่างไรเมื่อพบปัญหาประเภทนี้ Google 10 นาทีไม่ได้ให้ความช่วยเหลือ

นี่คือคำสั่งที่ฉันใช้:

mysqldump -u username -h localhost --port=4406 -p --databases database_name --skip-lock-tables --force > database_name.sql

คำตอบ:


27

ผู้ชาย mysqldump

-f, --force         Continue even if we get an sql-error.

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

เขาให้ตัวเลือก --force ในคำสั่งที่เขาแสดงให้เราเห็นแล้ว
Zoredache

1
ขอโทษที่ไม่รู้
chocripple

1
@Chad Johnson คนอาจโต้แย้งว่าหากคุณไม่สามารถรับข้อมูลสำรองที่สะอาดโดยไม่ต้องใช้ - บังคับแสดงว่าข้อมูลสำรองของคุณล้มเหลว ตัวเลือกการบังคับจะระงับข้อผิดพลาดที่อาจสำคัญ โปรดอย่าใช้ - บังคับใช้ในสคริปต์สำรองที่คุณจะต้องใช้
Zoredache

นี่เป็นเพียงเพื่อให้ฉันได้รับการถ่ายโอนข้อมูลของฐานข้อมูลเพื่อทำงานกับภายในเครื่อง ไม่มีอะไรสำคัญ.
ชาดจอห์นสัน

1

AFIAK คุณทำไม่ได้ mysqldumpคุณต้องมีสิทธิ์พอที่จะทำงาน ทำไมคุณไม่ให้executeสิทธิพิเศษแก่ผู้ใช้ที่ทำงานอยู่


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