Cập nhật
Trong phiên tiếp theo của tôi, tôi nhận ra mysql không được thiết bị đầu cuối nhận dạng. Tôi nhận ra mình thật ngốc và luôn làm sai. Không sử dụng bí danh để phân giải thành tệp nhị phân.
Ví dụ, không sử dụng bí danh mysql ="/ Applications / MAMP / Library / bin / mysql"
Thay vào đó
xuất PATH =$ PATH:/ Applications / MAMP / Library / bin /
Điều này sẽ cho phép bạn sử dụng các mã nhị phân một cách thích hợp thông qua bash và bạn cũng sẽ có quyền truy cập vào tất cả các mã nhị phân mysql bao gồm mysqladmin, v.v. từ thiết bị đầu cuối. :) Chúc bạn viết kịch bản vui vẻ!
Tập lệnh mẫu với các biến môi trường thích hợp:
#!/bin/bash
echo ""
echo Reloading Database
echo ""
echo Using
echo PROJECT_BUILD_HOME: $PROJECT_BUILD_HOME
echo MYSQL: $(which mysql)
echo PHP: $(which php)
echo ""
echo ""
mysqladmin -u root -pmypass drop projectbuild
mysqladmin -u root -pmypass create projectbuild
gunzip < $PROJECT_BUILD_HOME/pack/projectbuild.sql.gz | mysql -u root -pmypass projectbuild
Câu trả lời cũ bên dưới
Tôi đã thiết lập mysql trong người dùng của mình .profile dưới dạng bí danh mysql ="/ path / to / mysql".
Thay vào đó,
Tôi đã sử dụng xuất mysql =/ path / to / mysql
Và trong tập lệnh bash của mình, tôi đã sử dụng $ mysql.
Ví dụ
cat /path/to/my/file | $mysql -h localhost -u root -padmin