Tôi muốn có một tập lệnh SQL chạy bất cứ khi nào mysql khởi động nhưng tôi không thể làm cho nó hoạt động trong Ubuntu 11.10.
Tôi đã thêm tùy chọn " init-file " vào tệp cấu hình mysql:
> sudo emacs -nw /etc/mysql/my.cnf
...
[mysqld]
init-file=/etc/mysql/mysqlinit.sql
...
Nhưng khi tôi khởi động lại mysql, nó không thành công với lỗi " Không tìm thấy tệp ":
> tail /var/log/mysql/error.log
111111 7:41:06 [ERROR] /usr/sbin/mysqld: File '/etc/mysql/mysqlinit.sql' not found (Errcode: 13)
111111 7:41:06 [ERROR] Aborting
Nhưng tập tin chắc chắn tồn tại và có thể đọc được:
> ls -l /etc/mysql/mysqlinit.sql
-rwxr-xr-x 1 mysql mysql 30 2011-11-09 05:06 /etc/mysql/mysqlinit.sql
Bất kỳ ý tưởng làm thế nào để giải quyết điều này? Đây có phải là một sự kỳ quặc của Ubuntu hay tôi đã làm điều gì đó ngớ ngẩn?
Thông tin:
Tôi đang chạy Ubuntu 11.10 và MySQL 5.1.
> mysqld --version
mysqld Ver 5.1.58-1ubuntu1 for debian-linux-gnu on x86_64 ((Ubuntu))
file /etc/mysql/mysqlinit.sql
đưa ra "/etc/mysql/mysqlinit.sql: văn bản ASCII, không có dấu kết thúc dòng"
/tmp
thư mục để xem điều gì xảy ra. Bạn đang chạy AppArmor?
/tmp
nhưng không có may mắn. Vâng, tôi nghĩ Ubuntu sử dụng AppArmor.
file /etc/mysql/mysqlinit.sql
gì?