mysql_install_db xử lý các tác vụ khởi tạo cần được thực hiện trước khi máy chủ MySQL, tức là mysqld sẵn sàng sử dụng. Nó khởi tạo thư mục dữ liệu MySQL và giúp tạo các bảng hệ thống mà nó chứa. Nó khởi tạo không gian bảng hệ thống và các cấu trúc dữ liệu liên quan được yêu cầu lại để quản lý các bảng InnoDB.
Triển khai bảo mật theo mặc định
Các phiên bản hiện tại của mysql_install_db sẽ tạo ra một triển khai MySQL được bảo mật theo mặc định. Nó có các đặc điểm được đề cập dưới đây.
-
Một tài khoản quản trị duy nhất có tên 'root' @ 'localhost' được tạo bằng mật khẩu được tạo ngẫu nhiên và được đánh dấu là đã hết hạn.
-
Không có tài khoản người dùng ẩn danh nào được tạo.
-
Không có cơ sở dữ liệu thử nghiệm nào có thể truy cập được bởi tất cả người dùng được tạo.
-
Các tùy chọn ‘--admin-xxx’ có sẵn để giúp kiểm soát các đặc điểm của tài khoản quản trị.
-
Tùy chọn ‘--random-password-file’ có sẵn để được kiểm soát ở vị trí ghi randompassword.
-
Tùy chọn ‘—insecure’ có sẵn để ngăn chặn việc tạo mật khẩu ngẫu nhiên.
Nếu mysql_install_db có thể tạo mật khẩu quản trị ngẫu nhiên, nó sẽ ghi mật khẩu vào một tệp và cũng hiển thị tên tệp.
Cú pháp lời mời
Hãy để chúng tôi hiểu cú pháp lời gọi ngay bây giờ -
Thay đổi vị trí đến thư mục cài đặt MySQL và sử dụng cú pháp được đề cập bên dưới -
shell> bin/mysql_install_db --datadir=path/to/datadir [other_options]
Tùy chọn --datadir là bắt buộc. Mysql_install_db tạo thư mục dữ liệu, thư mục này không nên tồn tại. Nếu thư mục dữ liệu đã tồn tại, một hoạt động nâng cấp đang được thực hiện, không phải là một hoạt động cài đặt. Nó phải chạy mysql_upgrade chứ không phải mysql_install_db. Nếu thư mục dữ liệu không tồn tại nhưng mysql_install_db không thành công, mọi thư mục dữ liệu được tạo một phần sẽ bị xóa trước khi chạy lại mysql_install_db.
Vì máy chủ MySQL, mysqld phải truy cập thư mục dữ liệu khi nó chạy sau, người dùng phải chạy mysql_install_db từ cùng một tài khoản hệ thống được sử dụng để chạy mysqld hoặc chạy nó dưới dạng root và chỉ định tùy chọn --user để chỉ ra tên người dùng. mysqld chạy dưới.