2012-05-23 43 views
14

Tôi có kết nối giữa máy chủ cục bộ và máy chủ từ xa bằng cách sử dụng đường hầm SSH putty.Nhập tệp SQL cục bộ vào MySQL trên máy chủ từ xa bằng cách sử dụng SSH Tunnel

Thats tốt.

Bây giờ tôi cần một lệnh để tải tệp sql trên máy tính địa phương của tôi ví dụ c: \ thư mục \ test.sql và nhập nó vào mysql trên máy chủ từ xa

Tôi nghĩ có lẽ ...

mysql -u prefix_username -p testpass -h localhost -P 3307 prefix_testdb 

sau đó làm một lệnh như

mysql -p testpass -u prefix_username prefix_testdb < c:\folder\test.sql 

lệnh này không làm việc.

Tôi có thể đạt được điều này bằng cách nào?

+0

Bạn có thực sự muốn nhập nó vào máy chủ mysql trên máy từ xa? Sau đó, không cần phải chuyển nó lần đầu tiên đến máy cục bộ của bạn. – cb0

+0

Nó là một tập tin SQL từ một máy chủ khác nhau đến máy chủ từ xa tôi sẽ sử dụng – Jkk

Trả lời

3

Sử dụng 'scp' để sao chép và mysql chèn vào máy cục bộ của bạn.

Cú pháp:

scp [email protected]_server:/path/to/sql/file.sql ~/path/to/local/directory 

sau khi bạn chuyển việc sử dụng file:

mysql -uYouUserName -p name_of_database_to_import_to < ~/path/to/local/directory/file.sql 
+3

điều này có thể được thực hiện trong một lệnh duy nhất? – jmserra

9

Bạn sẽ cần phải ssh vào máy tính từ xa bằng lệnh mysql nối:

ssh [email protected]_server mysql -p testpass -u username testdb < c:\folder\test.sql 
24

Bạn nên chạy lệnh này

mysql -h host -u user_name -pPassword database <file.sql> output.log 

file.sql chứa các truy vấn sql để chạy và output.log có ý nghĩa chỉ khi bạn có một truy vấn mà trả về một cái gì đó (như một chọn)

Điều duy nhất khác nhau tôi có thể nhìn thấy trong mã của bạn là trống khoảng cách giữa tùy chọn -p và mật khẩu. Nếu bạn sử dụng tùy chọn -p, bạn phải viết mật khẩu mà không để lại bất kỳ khoảng trống nào. Hoặc bạn chỉ có thể sử dụng tùy chọn --password = Mật khẩu

Tôi hy vọng bạn có thể giải quyết vấn đề

+0

Điều này lý tưởng. Tuy nhiên, có thể không phải là một thực hành tốt để cho phép kết nối từ xa đến máy chủ mysql, cho đến khi bạn thực sự biết những gì bạn đang làm. – augusto

+1

Nếu tệp 'sql' của bạn chứa định nghĩa lược đồ, tất cả những gì bạn cần chạy là:' mysql -h host -u user_name -pPassword CommandZ

-1

Bạn có thể sử dụng pscp upload file lên máy chủ. Tới dòng lệnh của bạn và gõ này

pscp.exe c:\folder\test.sql [email protected]:/serverpath 
4
1. mysql -h xxx -uxxx -pxxx . //login to the remote mysql 
2. use DATABASE.    //asign which db to import 
3. source path/to/file.sql //the path can be your local sql file path. 

Refference: Import SQL file into mysql

Các vấn đề liên quan