mysql이 시작될 때마다 SQL 스크립트를 실행하고 싶지만 Ubuntu 11.10에서는 작동하지 않습니다.
mysql 설정 파일에 " init-file "옵션을 추가했습니다 :
> sudo emacs -nw /etc/mysql/my.cnf
...
[mysqld]
init-file=/etc/mysql/mysqlinit.sql
...
그러나 mysql을 다시 시작하면 " File not found "오류 와 함께 실패합니다 .
> 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
그러나 파일은 확실히 존재하며 읽을 수 있습니다.
> ls -l /etc/mysql/mysqlinit.sql
-rwxr-xr-x 1 mysql mysql 30 2011-11-09 05:06 /etc/mysql/mysqlinit.sql
이 아이디어를 해결하는 방법이 있습니까? 이것은 우분투의 이상한 일입니까, 아니면 멍청한 짓을 했습니까?
정보 :
Ubuntu 11.10 및 MySQL 5.1을 실행 중입니다.
> mysqld --version
mysqld Ver 5.1.58-1ubuntu1 for debian-linux-gnu on x86_64 ((Ubuntu))
file /etc/mysql/mysqlinit.sql
"/etc/mysql/mysqlinit.sql : 줄 종결자가없는 ASCII 텍스트"제공
문제의 범위를 좁히려면 문제를
—
quanta
/tmp
폴더로 이동하여 결과 를 확인하십시오. AppArmor를 실행하고 있습니까?
init 파일을 사용해 보았지만
—
Tom
/tmp
운이 없습니다. 예, 우분투는 AppArmor를 사용한다고 생각합니다.
그렇다면 AppArmor를 중지하고 오류가 사라지는 지 확인하십시오.
—
quanta
file /etc/mysql/mysqlinit.sql
무엇입니까?