ข้อผิดพลาด mysqldump LOCK TABLES


9

เมื่อฉันรัน mysqldump ฉันได้รับข้อผิดพลาดดังต่อไปนี้:

mysqldump -u root -ppassword --databases information_schema > test.sql
mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES

ฉันจะแก้ไขสิ่งนี้ได้อย่างไร


ขึ้นอยู่กับเครื่องมือเก็บข้อมูลของคุณ ดู: stackoverflow.com/questions/104612/…
JasonWoof

คำตอบ:


7

หากคุณต้องดัมพ์ฐานข้อมูล information_schema ให้เพิ่ม --skip-lock-tables เข้ากับ

mysqldump จะไม่ถ่ายโอนฐานข้อมูล INFORMATION_SCHEMA โดยค่าเริ่มต้น ในฐานะของ MySQL 5.1.38, mysqldump จะทิ้ง Information_SCHEMA หากคุณตั้งชื่ออย่างชัดเจนในบรรทัดคำสั่งแม้ว่าในปัจจุบันคุณจะต้องใช้ตัวเลือก --skip-lock-tables ก่อน 5.1.38, mysqldump จะละเว้น INFORMATION_SCHEMA อย่างเงียบ ๆ แม้ว่าคุณจะตั้งชื่ออย่างชัดเจนในบรรทัดคำสั่ง

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html


ใน InnoDB ให้ใช้พารามิเตอร์ --single-transaction สำหรับผลที่คาดหวังdev.mysql.com/doc/refman/5.1/en/…
Fedir RYKHTIK

3

ฉันต้องเพิ่ม - ธุรกรรมเดี่ยว

ตามคู่มือ MySQL ตัวเลือกนี้รับประกันเฉพาะการสำรองข้อมูลที่สอดคล้องกันหากคุณใช้ InnoDB หรือ BDB ตรงกันข้ามกับ MyISAM และ Heap ที่สนับสนุนธุรกรรม


0

มีปัญหาเดียวกันเมื่อวานนี้

ฐานข้อมูลถูกย้ายจากเซิร์ฟเวอร์อื่นและเมื่อเราลบผู้ใช้จำนวนน้อยมี VIEW ที่ไม่มี DEFINER ที่ไม่มีอยู่และทำให้เกิดปัญหา

มันจะไม่แสดงข้อผิดพลาด propper เมื่อมันถูกทิ้งด้วยการให้สิทธิ์ผู้ใช้ SELECT, LOCK TABLES แต่ภายใต้ข้อผิดพลาดที่ถูกต้องของผู้ใช้รากก็แสดงให้เห็น

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