Đây là trích đoạn từ tập lệnh thiết lập của tôi cho máy chủ mới. Bạn có thể sao chép từng từ ngoại trừ mật khẩu.
Bạn sẽ cần chạy ứng dụng này bằng sudo nếu bạn chưa root.
#!/bin/bash
export DEBIAN_FRONTEND=noninteractive
apt-get -q -y install mysql-server
echo "Give mysql server time to start up before we try to set a password..."
sleep 5
mysql -uroot -e <<EOSQL "UPDATE mysql.user SET Password=PASSWORD('yourpasswordhere') WHERE User='root'; FLUSH PRIVILEGES;"
EOSQL
echo "Done setting mysql password."
Câu trả lời khác đã sử dụng -y làm cho apt-get luôn trả lời có cho câu hỏi. -q ẩn một số chỉ số tiến trình để bạn có thể gửi đầu ra tới nhật ký. Bạn cũng có thể sử dụng -qq, tự động cung cấp cho bạn một -y. Đây là trang dành cho apt-get.
<<EOSQL
là cú pháp bed heredoc để dễ đọc.
tôi có phần heredoc của giải pháp này từ anh chàng này: http://padwasabimasala.posterous.com/non-interactive-scripted-mysql-install-on-ubu
Những điều cần nhớ với heredoc là khoảng trắng mà trước chuỗi đóng cửa phá vỡ nó. Vì vậy, không thụt lề dòng đó. Đây là một trang về cú pháp heredoc: http://tldp.org/LDP/abs/html/here-docs.html
Tôi đã thử phương pháp 'mong đợi', nhưng tiếp tục chạy vào vấn đề trích dẫn tinh tế S. Thủ thuật 'DEBIAN_FRONTEND = noninteractive' chính xác là những gì tôi đang tìm kiếm. Theo dõi nó bằng mật khẩu 'mysqladmin -u root YOUR_DB_PASSWORD' và bạn đang ở nhà trong nháy mắt. –
+1 cho một cái gì đó thực sự hoạt động trên insatll sạch của ubuntu 12.04 – Automatico