Làm cách nào để nhập cơ sở dữ liệu với MySQL từ thiết bị đầu cuối?


373

Làm cách nào tôi có thể nhập cơ sở dữ liệu với mysql từ thiết bị đầu cuối?

Tôi không thể tìm thấy cú pháp chính xác.

Câu trả lời:


761

Giả sử bạn đang sử dụng bảng điều khiển Linux hoặc Windows:

Nhắc mật khẩu:

mysql -u <username> -p <databasename> < <filename.sql>

Nhập mật khẩu trực tiếp (không an toàn):

mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>

Thí dụ:

mysql -u root -p wp_users < wp_users.sql

mysql -u root -pPassword123 wp_users < wp_users.sql

Xem thêm:

4.5.1.5. Thực thi các câu lệnh SQL từ một tệp văn bản


Lưu ý : Nếu bạn đang ở trên windows thì bạn sẽ phải cd(thay đổi thư mục) sang thư mục MySQL / bin của bạn bên trong CMD trước khi thực hiện lệnh.


139
+1 ngoại trừ bạn không nên chuyển mật khẩu của mình dưới dạng tham số CLI. Thay vì chỉ định tùy chọn -p và nhập thủ công sau khi nhắc.
St.Woland

13
Không có khoảng cách giữa -p và mật khẩu nếu bạn muốn nhập nó bằng shell.
Kethryweryn

8
tên người dùng mysql -h tên máy chủ -ppassword databasename <filename.sql cho máy chủ từ xa từ thiết bị đầu cuối
Shaik Rilwan

8
nếu bạn đã ở trong dấu nhắc lệnh mysql (mysql>), thì chỉ cần nhập nguồn full_path_of_file (lưu ý: chọn cơ sở dữ liệu bằng lệnh USE DATABASE_NAME trước khi nhập).
Ankit Sharma

3
@Pekka, Nếu chúng tôi sử dụng source, chúng tôi có thể thấy các thông báo thông tin ( "hàng bị ảnh hưởng" ) và thông báo lỗi. Nhưng sử dụng giải pháp của bạn, làm thế nào để chúng ta thấy các tin nhắn sử dụng < filename.sql?
Pacerier 18/03/2015

141

Cách tốt nhất cho windows:

  1. Mở bàn điều khiển và bắt đầu chế độ MySQL tương tác

  2. use <name_of_your_database>;

  3. source <path_of_your_.sql>


2
Tại sao chúng ta không cần một; sau tên tập tin?
Nabeel Khan

6
@NabeelKhan Hầu hết các câu lệnh SQL yêu cầu ;ở cuối câu lệnh, nhưng có một vài ngoại lệ, bao gồm USESOURCE.
Simon East

1
Tôi tự hỏi nếu điều này thực hiện nhanh hơn đường ống tập tin trong (như trong câu trả lời được chấp nhận). Sự nghi ngờ của tôi là .
Simon East

Điều này nhanh hơn nhiều so với việc nhập thông qua HeidiSQL ... 3GB trong 20 phút!
kmdsax

Tò mò. Khi tôi gỡ bỏ ;các sourcelệnh được thực hiện thành công. Trước khi nó không.
Nikos

33

mysql -u <USERNAME> -p <DB NAME> < <dump file path>

-u - cho tên người dùng

-p - để nhắc mật khẩu

Ví dụ. mysql -u root -p mydb < /home/db_backup.sql

Bạn cũng có thể cung cấp mật khẩu đi trước -p nhưng vì lý do bảo mật nên không thể thực hiện được. Mật khẩu sẽ xuất hiện trên chính lệnh được che dấu.


2
Đây là câu trả lời tôi đang tìm kiếm. "<" Đây là dấu hiệu tôi để lại.
Pravinraj Venkatachalam

Nếu mydb không tồn tại thì làm thế nào để tạo nó một cách linh hoạt khi chúng ta thực hiện lệnh mysqldump?
अक्षय परूळेकर

12

Trực tiếp từ var / www / html

mysql -u username -p database_name < /path/to/file.sql

Từ trong mysql:

mysql> use db_name;
mysql> source backup-file.sql

7

Từ thiết bị đầu cuối:

mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql

7

trong loại thiết bị đầu cuối

mysql -uroot -p1234; use databasename; source /path/filename.sql

Điều này cho phép xem nhật ký nhập khẩu
Thiago Macedo

6

Tôi thường sử dụng lệnh này để tải dữ liệu SQL của mình khi được chia thành các tệp có tên: 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

Hoạt động tốt trên vỏ OSX.


5

Cách tải từ dòng lệnh

Giải trình:

  1. Đầu tiên tạo cơ sở dữ liệu hoặc sử dụng cơ sở dữ liệu hiện có. Trong trường hợp của tôi, tôi đang sử dụng một cơ sở dữ liệu hiện có

  2. Tải cơ sở dữ liệu bằng cách đưa ra <name of database> = ClassicModelstrong trường hợp của tôi và sử dụng toán tử <cung cấp đường dẫn đếndatabase = sakila-data.sql

  3. Bằng cách chạy các bảng hiển thị, tôi nhận được danh sách các bảng như bạn có thể thấy.

Lưu ý: Trong trường hợp của tôi, tôi gặp lỗi 1062 , vì tôi đang cố tải lại điều tương tự.


5
mysql -u username -ppassword dbname < /path/file-name.sql

thí dụ

mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql

Sử dụng cái này từ thiết bị đầu cuối


5

Lệnh bên dưới đang hoạt động trên Ubuntu 16.04, tôi không chắc nó có hoạt động hay không các nền tảng Linux khác.

Xuất tệp SQL:

$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]  

Ví dụ: mysqldump -u root -p max_development> max_development.sql

Nhập tệp SQL:

$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]

Example: mysqldump -u root -p max_production < max_development.sql

Lưu ý tệp SQL nên tồn tại cùng thư mục


5

Mở Terminal Sau đó

 mysql -u root -p

 eg:- mysql -u shabeer -p

Sau đó tạo cơ sở dữ liệu

 mysql> create database "Name";

 eg:- create database INVESTOR;

Sau đó chọn cơ sở dữ liệu mới "NHÀ ĐẦU TƯ"

 mysql> USE INVESTOR;

Chọn đường dẫn của tệp sql từ máy

 mysql> source /home/shabeer/Desktop/new_file.sql;

Sau đó nhấn enter và đợi một vài lần nếu tất cả đã được thực thi

 mysql> exit

nhập mô tả hình ảnh ở đây


4
  1. Mở Máy khách dòng lệnh MySQL và nhập mật khẩu của bạn

  2. Thay đổi cơ sở dữ liệu bạn muốn sử dụng để nhập dữ liệu tệp .sql vào. Làm điều này bằng cách gõ:

    USE your_database_name
  3. Bây giờ xác định vị trí tệp .sql bạn muốn thực thi.
    Nếu tệp được đặt trong thư mục ổ đĩa C: cục bộ chính và tên tệp tập lệnh .sql là currentSqlTable.sql, bạn sẽ gõ như sau:

    \. C:\currentSqlTable.sql

    và nhấn Enterđể thực thi tệp tập lệnh SQL.


7
Hình 1/2/3 là gì?
glglgl

4

Sau khi vật lộn đôi lúc tôi đã tìm thấy thông tin trong https://tommcfarlin.com/importing-a-large-database/

  1. Kết nối với Mysql (hãy sử dụng root cho cả tên người dùng và mật khẩu):

    mysql -uroot -proot
  2. Kết nối với cơ sở dữ liệu (giả sử nó được gọi là blankDatabase (bạn sẽ nhận được thông báo xác nhận):

    connect emptyDatabase

3 Nhập mã nguồn, giả sử tệp được gọi là mySource.sql và nó nằm trong thư mục có tên mySoureDb trong hồ sơ của người dùng có tên myUser:

source /Users/myUser/mySourceDB/mySource.sql

3

Nếu bạn đang sử dụng sakila-db từ trang web mysql, rất dễ dàng trên nền tảng Linux, chỉ cần làm theo các bước được đề cập dưới đây, Sau khi tải xuống tệp zip của sakila-db , hãy giải nén nó. Bây giờ bạn sẽ có hai tệp, một tệp là sakila-lược.sqltệp còn lại là sakila-data.sql .


  1. Thiết bị đầu cuối mở
  2. Nhập lệnh mysql -u root -p <sakila-lược.sql
  3. Nhập lệnh mysql -u root -p <sakila-data.sql
  4. Bây giờ hãy nhập lệnh mysql -u root -p và nhập mật khẩu của bạn, bây giờ bạn đã nhập vào hệ thống mysql với cơ sở dữ liệu mặc định .
  5. Để sử dụng cơ sở dữ liệu sakila, sử dụng lệnh này sử dụng sakila;
  6. Để xem các bảng trong sakila-db, hãy sử dụng lệnh show bảng

Xin lưu ý rằng các tập tin giải nén có mặt trong thư mục nhà .


2

Trong Ubuntu, từ màn hình MySQL , bạn đã sử dụng cú pháp này:

mysql> use <dbname> -> Câu lệnh USE bảo MySQL sử dụng dbnamelàm cơ sở dữ liệu mặc định cho các câu lệnh tiếp theo

mysql> source <file-path>

ví dụ :

mysql> use phonebook;

mysql> source /tmp/phonebook.sql;

Quan trọng : đảm bảo tệp sql nằm trong thư mục mà mysql có thể truy cập vào like / tmp


1

Trước khi chạy các lệnh trên thiết bị đầu cuối, bạn phải đảm bảo rằng bạn đã cài đặt MySQL trên thiết bị đầu cuối của mình.

Bạn có thể sử dụng lệnh sau để cài đặt nó:

sudo apt-get update
sudo apt-get install mysql-server

Chuyển hướng ở đây .

Sau đó, bạn có thể sử dụng các lệnh sau để nhập cơ sở dữ liệu:

mysql -u <username> -p <databasename> < <filename.sql>

1

Cách đơn giản nhất để nhập cơ sở dữ liệu trong MYSQL của bạn từ thiết bị đầu cuối được thực hiện theo quy trình được đề cập dưới đây -

mysql -u root -p root database_name < path to your .sql file

Những gì tôi đang làm ở trên là:

  1. Nhập vào mysql bằng tên người dùng và mật khẩu của tôi (đây là root& root)
  2. Sau khi nhập mật khẩu, tôi sẽ cung cấp tên của cơ sở dữ liệu nơi tôi muốn nhập tệp .sql của mình. Vui lòng đảm bảo rằng cơ sở dữ liệu đã tồn tại trong MYSQL của bạn
  3. Tên cơ sở dữ liệu được theo sau <và sau đó đường dẫn đến tệp .sql của bạn. Ví dụ: nếu tệp của tôi được lưu trữ trong Máy tính để bàn, đường dẫn sẽ là/home/Desktop/db.sql

Đó là nó. Khi bạn đã thực hiện tất cả điều này, nhấn enter và đợi tệp .sql của bạn được tải lên cơ sở dữ liệu tương ứng


0

Không có khoảng cách giữa -p và mật khẩu

mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql

Tôi luôn luôn sử dụng nó, nó hoạt động hoàn hảo. Nhờ đặt câu hỏi này. Có một ngày tuyệt vời. Vui mừng :)


chúng ta cũng có thể đặt cài đặt này trong công việc định kỳ (tác vụ lịch biểu) trên các máy chủ chia sẻ, dành riêng và đám mây để tự động đặt lại hoặc nhập cơ sở dữ liệu theo thời gian.
Kam Meat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.