mysql là 5.7.34 trên Ubuntu 18.04
Script tôi đã viết my.sh
#!/usr/bin/mong đợi
sinh ra mysql_secure_installation
chờ đợi {
"Nhấn y|Y để chọn Có, bất kỳ phím nào khác để chọn Không" { gửi "n\r"; hết hạn }
"Mật khẩu mới" { send "123456\r"; hết hạn }
"Nhập lại mật khẩu mới" { send "123456\r"; hết hạn }
"Xóa người dùng ẩn danh?" { gửi "y\r"; hết hạn }
"Không cho phép root đăng nhập từ xa" { send "n\r"; hết hạn }
"Xóa cơ sở dữ liệu thử nghiệm và truy cập vào nó" { send "Y\r"; hết hạn }
"Tải lại bảng đặc quyền ngay bây giờ" { gửi "Y\r"; hết hạn }
}
./my.sh
Kết quả của hoạt động như sau
Tại sao tập lệnh không thực thi như mong đợi
root@fa244a50dc06:/# ./my.sh
sinh ra mysql_secure_installation
Bảo mật việc triển khai máy chủ MySQL.
Kết nối với MySQL bằng mật khẩu trống.
VALIDATE PASSWORD PLUGIN có thể được sử dụng để kiểm tra mật khẩu
và cải thiện an ninh. Nó kiểm tra độ mạnh của mật khẩu
và cho phép người dùng chỉ đặt những mật khẩu được
đủ an toàn. Bạn có muốn thiết lập plugin MẬT KHẨU HỢP LỆ không?
Nhấn y|Y cho Có, bất kỳ phím nào khác cho Không: n
Hãy đặt mật khẩu cho root tại đây.
Mật khẩu mới:
Nhập lại mật khẩu mới:
Theo mặc định, cài đặt MySQL có người dùng ẩn danh,
cho phép mọi người đăng nhập vào MySQL mà không cần phải có
một tài khoản người dùng được tạo cho họ. Điều này chỉ dành cho
thử nghiệm và để làm cho quá trình cài đặt diễn ra suôn sẻ hơn một chút.
Bạn nên loại bỏ chúng trước khi chuyển sang sản xuất
môi trường.
Xóa người dùng ẩn danh? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): n
... bỏ qua.
Thông thường, root chỉ được phép kết nối từ
'máy chủ cục bộ'. Điều này đảm bảo rằng ai đó không thể đoán được
mật khẩu gốc từ mạng.
Không cho phép root đăng nhập từ xa? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): n
... bỏ qua.
Theo mặc định, MySQL đi kèm với cơ sở dữ liệu có tên 'kiểm tra'
bất kỳ ai cũng có thể truy cập. Điều này cũng chỉ nhằm mục đích thử nghiệm,
và nên được gỡ bỏ trước khi chuyển sang sản xuất
môi trường.
Xóa cơ sở dữ liệu thử nghiệm và truy cập vào nó? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): n
... bỏ qua.
Tải lại các bảng đặc quyền sẽ đảm bảo rằng tất cả các thay đổi
được thực hiện cho đến nay sẽ có hiệu lực ngay lập tức.
Tải lại bảng đặc quyền bây giờ? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): n
... bỏ qua.
Tất cả đã được làm xong!