ฉันจะนำเข้าฐานข้อมูลด้วย mysql จากเทอร์มินัลได้อย่างไร
ฉันไม่พบไวยากรณ์ที่แน่นอน
ฉันจะนำเข้าฐานข้อมูลด้วย mysql จากเทอร์มินัลได้อย่างไร
ฉันไม่พบไวยากรณ์ที่แน่นอน
คำตอบ:
สมมติว่าคุณอยู่บนคอนโซล Linux หรือ Windows:
แจ้งรหัสผ่าน:
mysql -u <username> -p <databasename> < <filename.sql>
ป้อนรหัสผ่านโดยตรง (ไม่ปลอดภัย):
mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>
ตัวอย่าง:
mysql -u root -p wp_users < wp_users.sql
mysql -u root -pPassword123 wp_users < wp_users.sql
ดูสิ่งนี้ด้วย:
4.5.1.5 การดำเนินการคำสั่ง SQL จากไฟล์ข้อความ
หมายเหตุ : หากคุณอยู่บน windows คุณจะต้องcd
(เปลี่ยนไดเรกทอรี) เป็นไดเรกทอรี MySQL / bin ของคุณภายใน CMD ก่อนดำเนินการคำสั่ง
source
เราจะเห็นข้อความที่ให้ข้อมูล ( "ผลกระทบของแถว" ) และข้อความแสดงข้อผิดพลาด แต่การใช้โซลูชันของคุณเราจะเห็นข้อความที่ใช้< filename.sql
อย่างไร
วิธีที่ดีกว่าสำหรับ windows:
เปิดคอนโซลและเริ่มโหมด MySQL แบบโต้ตอบ
use <name_of_your_database>;
source <path_of_your_.sql>
;
ในตอนท้ายของคำสั่ง แต่มีข้อยกเว้นบางประการรวมทั้งและUSE
SOURCE
;
source
mysql -u <USERNAME> -p <DB NAME> < <dump file path>
-u
- สำหรับชื่อผู้ใช้
-p
- เพื่อขอรหัสผ่าน
เช่น. mysql -u root -p mydb < /home/db_backup.sql
คุณยังสามารถระบุรหัสผ่านที่นำหน้าด้วย -p แต่ด้วยเหตุผลด้านความปลอดภัยจึงไม่แนะนำให้ทำ รหัสผ่านจะปรากฏขึ้นในคำสั่งเองค่อนข้างหลอกลวง
โดยตรงจาก var / www / html
mysql -u username -p database_name < /path/to/file.sql
จากภายใน mysql:
mysql> use db_name;
mysql> source backup-file.sql
จากเทอร์มินัล:
mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql
ในประเภทอาคาร
mysql -uroot -p1234; use databasename; source /path/filename.sql
ฉันมักจะใช้คำสั่งนี้เพื่อโหลดข้อมูล SQL ของฉันเมื่อแบ่งออกเป็นไฟล์ที่มีชื่อ: 000-tableA.sql, 001-tableB.sql, 002-tableC.sql
for anyvar in *.sql; do <path to your bin>/mysql -u<username> -p<password> <database name> < $anyvar; done
ทำงานได้ดีบนเชลล์ OSX
คำอธิบาย:
สร้างฐานข้อมูลก่อนหรือใช้ฐานข้อมูลที่มีอยู่ ในกรณีของฉันฉันใช้ฐานข้อมูลที่มีอยู่
โหลดฐานข้อมูลโดยให้<name of database> = ClassicModels
ในกรณีของฉันและใช้ผู้ประกอบการ<
ให้เส้นทางไปยังdatabase = sakila-data.sql
ด้วยการเรียกใช้ตารางแสดงฉันได้รับรายการตารางตามที่คุณเห็น
หมายเหตุ: ในกรณีของฉันฉันได้รับข้อผิดพลาด 1,062เนื่องจากฉันพยายามโหลดสิ่งเดียวกันอีกครั้ง
mysql -u username -ppassword dbname < /path/file-name.sql
ตัวอย่าง
mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql
ใช้สิ่งนี้จากเทอร์มินัล
คำสั่งด้านล่างใช้งานได้กับ Ubuntu 16.04 ฉันไม่แน่ใจว่ามันทำงานได้หรือไม่หรือใช้แพลตฟอร์ม Linux อื่น
ส่งออกไฟล์ SQL:
$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]
ตัวอย่าง: mysqldump -u root -p max_development> max_development.sql
นำเข้าไฟล์ SQL:
$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]
Example: mysqldump -u root -p max_production < max_development.sql
หมายเหตุไฟล์ SQL ควรมีอยู่ในไดเรกทอรีเดียวกัน
เปิด Terminal แล้ว
mysql -u root -p
eg:- mysql -u shabeer -p
หลังจากนั้นสร้างฐานข้อมูล
mysql> create database "Name";
eg:- create database INVESTOR;
จากนั้นเลือกฐานข้อมูลใหม่นั้น "นักลงทุน"
mysql> USE INVESTOR;
เลือกเส้นทางของไฟล์ sql จากเครื่อง
mysql> source /home/shabeer/Desktop/new_file.sql;
จากนั้นกด Enter แล้วรอสักครู่หากดำเนินการเสร็จแล้ว
mysql> exit
เปิดไคลเอนต์ Command Line ของ MySQL และพิมพ์รหัสผ่านของคุณ
เปลี่ยนเป็นฐานข้อมูลที่คุณต้องการใช้สำหรับการนำเข้าข้อมูลไฟล์. sql ไป ทำได้โดยพิมพ์:
USE your_database_name
ตอนนี้ค้นหาไฟล์. sql ที่คุณต้องการดำเนินการ
หากไฟล์อยู่ในไดเรคทอรี่หลัก C: ไดรฟ์และชื่อไฟล์สคริปต์. sql คือcurrentSqlTable.sql
คุณจะต้องพิมพ์ดังต่อไปนี้:
\. C:\currentSqlTable.sql
และกดEnterเพื่อเรียกใช้งานไฟล์สคริปต์ SQL
หลังจากดิ้นรนมาระยะหนึ่งฉันพบข้อมูลในhttps://tommcfarlin.com/importing-a-large-database/
เชื่อมต่อกับ Mysql (ใช้รูทสำหรับทั้งชื่อผู้ใช้และรหัสผ่าน):
mysql -uroot -proot
เชื่อมต่อกับฐานข้อมูล (สมมติว่าชื่อ emptyDatabase (คุณควรได้รับข้อความยืนยัน):
connect emptyDatabase
3 นำเข้าซอร์สโค้ดสมมติว่าไฟล์นั้นชื่อว่า mySource.sql และอยู่ในโฟลเดอร์ที่ชื่อว่า mySoureDb ภายใต้โปรไฟล์ของผู้ใช้ชื่อ myUser:
source /Users/myUser/mySourceDB/mySource.sql
หากคุณกำลังใช้sakila-dbจากเว็บไซต์ mysql มันเป็นเรื่องง่ายมากบนแพลตฟอร์ม Linux เพียงทำตามขั้นตอนที่กล่าวถึงด้านล่างหลังจากดาวน์โหลดไฟล์ zip ของsakila-dbแล้วแตกไฟล์ออกมา ตอนนี้คุณจะมีสองไฟล์หนึ่งคือsakila-Schema.sqlและคนอื่น ๆ ที่เป็น sakila-data.sql
โปรดระวังว่าไฟล์ที่แตกนั้นมีอยู่ในโฮมไดเร็กตอรี่
ใน Ubuntu จากหน้าจอ MySQLคุณใช้ไวยากรณ์นี้แล้ว:
mysql> use <dbname>
-> คำสั่ง USE บอกให้ MySQL ใช้dbname
เป็นฐานข้อมูลเริ่มต้นสำหรับคำสั่งที่ตามมา
mysql> source <file-path>
ตัวอย่างเช่น :
mysql> use phonebook;
mysql> source /tmp/phonebook.sql;
สำคัญ : ตรวจสอบให้แน่ใจว่าไฟล์ sql อยู่ในไดเรกทอรีที่ mysql สามารถเข้าถึง like / tmp
ก่อนเรียกใช้คำสั่งบนเทอร์มินัลคุณต้องแน่ใจว่าคุณได้ติดตั้ง MySQL ไว้ในเทอร์มินัลของคุณ
คุณสามารถใช้คำสั่งต่อไปนี้เพื่อติดตั้ง:
sudo apt-get update
sudo apt-get install mysql-server
หลังจากนั้นคุณสามารถใช้คำสั่งต่อไปนี้เพื่อนำเข้าฐานข้อมูล:
mysql -u <username> -p <databasename> < <filename.sql>
วิธีที่ง่ายที่สุดในการนำเข้าฐานข้อมูลใน MYSQL ของคุณจากเทอร์มินัลทำโดยกระบวนการที่กล่าวถึงด้านล่าง -
mysql -u root -p root database_name < path to your .sql file
สิ่งที่ฉันทำข้างต้นคือ:
root
& root
)<
จากนั้นเส้นทางไปยังไฟล์. sql ของคุณ ตัวอย่างเช่นหากไฟล์ของฉันถูกเก็บไว้ในเดสก์ท็อปเส้นทางจะเป็น/home/Desktop/db.sql
แค่นั้นแหละ. เมื่อคุณทำสิ่งนี้เสร็จแล้วให้กด Enter แล้วรอไฟล์. sql ของคุณเพื่ออัปโหลดไปยังฐานข้อมูลที่เกี่ยวข้อง
จะต้องไม่มีช่องว่างระหว่าง -p และรหัสผ่าน
mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql
ฉันมักจะใช้มันทำงานได้อย่างสมบูรณ์ ขอบคุณที่ถามคำถามนี้ ขอให้มีความสุขมาก ๆ ในวันนี้นะ Njoy :)