กู้คืนฐานข้อมูล MySQL หลายไฟล์จากไฟล์เดียวที่บรรทัดคำสั่งหรือไม่


13

ฉันส่งออกฐานข้อมูลทั้งหมดของฉันไปยังไฟล์โดยใช้ phpMyAdmin

น่าเสียดายที่ฉันไม่มี phpMyAdmin ที่ใช้งานได้ในระบบปลายทางของฉัน

ฉันจะคืนค่าทั้งหมดในครั้งเดียวโดยใช้คำสั่งหนึ่งบรรทัดได้อย่างไร


1
คุณมองเข้าไปในไฟล์หรือไม่? ควร / อาจมีคำสั่งเพื่อสร้างและสลับไปยังฐานข้อมูลตามต้องการ
Tom Regner

ใช่ฐานข้อมูลถูกสร้างขึ้นจากนั้นพวกเขาได้รับเลือกโดยใช้USE database_nameคำสั่ง
smhnaji

จากนั้นคำตอบของ Unni และ laurents นั้นถูกต้อง
Tom Regner

คำตอบ:


18

ทำไมคุณไม่ต่อไฟล์ทั้งหมดไว้ในไฟล์เดียวและนำเข้า / กู้คืนโดยใช้

mysql -u username -p < dump.sql

สร้างไฟล์เดียวโดยใช้

mysqldump -u username -p --all-databases > dump.sql

OP มีไฟล์เดียวอยู่แล้วและเขาต้องการเรียกคืนไฟล์เพื่อให้เขาไม่สามารถทิ้งไฟล์เหล่านั้นได้อีก
เรนต์

@ ลอเรนท์ใช่เข้าใจแล้ว การใช้mysql -u username -p < dump.sqlจะโหลดฐานข้อมูล MySQL หลายตัว
devav2

ใช่แน่ใจว่ามันจะ
Laurent

2
มันไม่ได้ผลสำหรับฉัน มันบอกว่าฉันต้องเลือกฐานข้อมูล
Aryeh Armon

3

หากคุณสำรองฐานข้อมูลจำนวนมากเป็น 1 ไฟล์ฉันสมมติว่าคุณสำรองข้อมูลcreate databaseงบไว้ในไฟล์เดียวกัน หากคุณไม่เพียงแค่ต้องเพิ่มcreate databaseและuse databaseคำสั่งไปยังไฟล์ของคุณในสถานที่ที่เหมาะสม

หลังจากนั้นคำสั่งเพื่อโหลดไฟล์ไปยัง mysql คือ:

mysql -p < sqlfile.sql

-p คือการขอรหัสผ่านของคุณ

คุณสามารถใช้-u usernameหากคุณต้องการใช้ผู้ใช้รายอื่น


1

คำสั่ง mysql เพื่อกู้คืนไฟล์ sql คือ:

mysql DATABASE_NAME < SQL_FILENAME.sql

ก่อนอื่นตรวจสอบให้แน่ใจว่าไฟล์นั้นเป็น sql ในกรณีที่ลงท้ายด้วยนามสกุลไฟล์ gz คุณจะต้องคลายการบีบอัดโดยใช้คำสั่ง:

gunzip SQL_FILE.sql.gz

1
-1. ดังที่ฉันได้กล่าวไว้ข้างต้นมีฐานข้อมูลหลายไฟล์ที่เก็บอยู่ในไฟล์และฉันต้องการให้พวกเขาทั้งหมดได้รับการกู้คืนพร้อมกัน
smhnaji

คุณสามารถส่งออกแต่ละฐานข้อมูลแยกกันใน phpmyadmin และเรียกคืนได้ที่เซิร์ฟเวอร์ต้นทางหรือไม่ หรือใช้ตัวแก้ไขสตรีมของ linux เช่น sed หรือ awk เพื่อแยกพวกมันเป็นไฟล์อื่น
Unni

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