mysqlが起動するたびにSQLスクリプトを実行したいのですが、Ubuntu 11.10では動作しません。
mysql構成ファイルに「init-file」オプションを追加しました。
> sudo emacs -nw /etc/mysql/my.cnf
...
[mysqld]
init-file=/etc/mysql/mysqlinit.sql
...
しかし、mysqlを再起動すると、「ファイルが見つかりません」というエラーで失敗します。
> 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の奇妙なことですか、それとも何かおかしいことをしましたか?
情報:
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テキスト、ラインターミネーターなし」
問題を絞り込むには、それを
—
クォンタ
/tmp
フォルダーに移動して、何が起こるかを確認してください。AppArmorを実行していますか?
initファイルを試してみました
—
トム
/tmp
が、うまくいきませんでした。はい、UbuntuはAppArmorを使用していると思います。
その場合は、AppArmorを停止して、エラーが解消されるかどうかを確認してください。
—
クォンタ
file /etc/mysql/mysqlinit.sql
何ですか?