Tôi có một thư mục với một bó các tệp .sql
rằng mysql dumps của mỗi cơ sở dữ liệu trên máy chủ của tôi.Nhập Nhiều tệp .sql dump vào cơ sở dữ liệu mysql từ shell
ví dụ:
database1-2011-01-15.sql
database2-2011-01-15.sql
...
Có rất nhiều trong số đó thực sự.
Tôi cần tạo tập lệnh shell hoặc một dòng có thể sẽ nhập từng cơ sở dữ liệu.
Tôi đang chạy trên máy Linux Debian.
Tôi nghĩ đó là một số cách để ống trong các kết quả của một ls vào một số lệnh find hoặc một cái gì đó ..
bất kỳ sự giúp đỡ và giáo dục được nhiều đánh giá cao.
EDIT
Vì vậy, cuối cùng tôi muốn tự động nhập khẩu một tập tin tại một thời điểm vào cơ sở dữ liệu.
Ví dụ: nếu tôi đã làm nó bằng tay trên một nó sẽ là:
mysql -u root -ppassword < database1-2011-01-15.sql
Cuối cùng tôi đã sử dụng con mèo \ * .sql nhưng đã phá vỡ nó xuống bằng thư để không có quá nhiều thông tin. ví dụ. mèo a \ *. sql | mysql -u root -ppass –
Tôi đã sử dụng 'ls -1 * .sql | awk '{print "source", $ 0}' | mysql --batch -u {username} -p {mật khẩu} {dbname} 'như tôi đã đặt tên tệp sql của tôi theo tuần tự và muốn thực hiện theo thứ tự đó – Luracast
@Luracast tôi đã sử dụng' ls -1 * .sql | awk '{print "source", $ 0}' | mysql --batch -u {username} -p {dbname} 'để làm cho nó hoạt động. Mật khẩu cần phải được nhập vào giao diện điều khiển khi nó thực sự nhắc cho nó, không phải trong chính lệnh đó. MySQL không chấp nhận mật khẩu trong lệnh. –