Mysqldump บ่นเกี่ยวกับฐานข้อมูลที่เลือกโดยไม่คำนึงถึงบรรทัดคำสั่ง


20

Mysqldump บ่นเกี่ยวกับตัวเลือกบรรทัดคำสั่งที่ฉันไม่เคยระบุ ฉันไม่ได้มีชื่อแทนเชลล์หรือชุดไฟล์. my.cnf ที่กำหนดเอง ผมทำอะไรผิดหรือเปล่า?

ใช้--databaseตัวเลือกยาว:

$ mysqldump --user cloud -p --database cloud > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and  will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.

ใช้--databasesตัวเลือกยาว:

$ mysqldump --user cloud -p --databases cloud > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'

ใช้--all-databasesตัวเลือกยาว:

$ mysqldump --user cloud -p --all-databases > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'

ใช้เพียงชื่อ db:

$ mysqldump --user cloud -p cloud > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'

และในที่สุดก็ไม่ได้ระบุอะไรเลย :

$ mysqldump --user cloud -p > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'

1
คุณอาจจะได้ตรวจสอบอย่างนี้แล้ว แต่ไม่มีอะไรที่จะพบใน/etc/my.cnfหรือ/etc/mysql/conf.dหรือสถานที่ที่คล้ายกัน?
Martijn Heemels

โพสต์/etc/my.cnf(และรวมถึง) และ$HOME/.my.cnfไฟล์ของคุณ
Michael Hampton

คำตอบ:


27

ใน.my.cnfไฟล์ตัวเลือกของคุณคุณอาจมีพารามิเตอร์ฐานข้อมูลที่ระบุไว้สำหรับไคลเอนต์ทั้งหมด แต่ mysqldump ไม่ชอบพารามิเตอร์นั้น ดังนั้นอย่ารายการพารามิเตอร์นั้นสำหรับลูกค้าทั้งหมดในไฟล์ตัวเลือกของคุณ

ตัวอย่างเช่นนี่คือวิธีที่ฉันแก้ไขเพื่อให้ลูกค้า mysql ยังคงทำงานโดยไม่ต้องระบุฐานข้อมูล (ค่าเริ่มต้นเป็นชื่อ 'walkin') และ mysqldump ไม่บ่น:

ก่อน:

$ cat ~ / .my.cnf
[ลูกค้า]
ผู้ใช้ = ราก
โฮสต์ = 127.0.0.1
รหัสผ่าน = "ราก"
ฐานข้อมูล = Walkin

หลังจาก:

$ cat ~ / .my.cnf
[ลูกค้า]
ผู้ใช้ = ราก
โฮสต์ = 127.0.0.1
รหัสผ่าน = "ราก"

[MySQL]
ฐานข้อมูล = Walkin

ดังนั้นเคาน์เตอร์ง่าย ขอบคุณที่ล้างข้อมูลนี้
jchavannes

FWIW นี่คือรายงานข้อผิดพลาด (เก่ามาก) สำหรับมัน: bugs.mysql.com/bug.php?id=18209
Dario Seidl

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