インストール・初期化後、初起動でエラー
OS : CentOS 5.3
MySQL 5.0.89 をソースからインストール
rootユーザにて
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@localhost mysql]# Starting mysqld daemon with databases from /usr/local/mysql/var
STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.com.pid
100114 20:02:07 mysqld ended
エラーログをみる
# cat var/localhost.localdomain.com.err
...
/usr/local/mysql/libexec/mysqld: Can't create/write to file '/usr/local/mysql/var/ib6TIfDM' (Errcode: 13)
100114 20:02:07 InnoDB: Error: unable to create temporary file; errno: 13
100114 20:02:07 [ERROR] /usr/local/mysql/libexec/mysqld: Can't create/write to file '/usr/local/mysql/var/localhost.localdomain.com.pid' (Errcode: 13)
100114 20:02:07 [ERROR] Can't start server: can't create PID file: Permission denied
100114 20:02:07 mysqld ended
/usr/local/mysql/var の所有者・権限は、mysql:mysql 700で
"# /usr/local/mysql/bin/mysqld_safe --user=mysql &" は mysqlユーザで起動するという意味ですよね(?)
/usr/local/mysql/my.cnf の [mysqld] には、
tmpdir = /usr/local/mysql/var/ を書いてます。
my.cnf は /etc/my.cnf にあります。
なぜ書き込めないのでしょうか?
どなたかご教示お願い致します。
因みに、これは関係ないと思いますが、
/usr/local/mysql の所有者・権限は root:mysql 700 です。
No.4ベストアンサー
- 回答日時:
>因みに、これは関係ないと思いますが、
>/usr/local/mysql の所有者・権限は root:mysql 700 です。
これが原因です。
例え下記のようになっていても、
>/usr/local/mysql/var の所有者・権限は、mysql:mysql 700で
親ディレクトリがroot:mysql 700ために、/usr/local/mysql/varには
mysqlで書き込みができません、試してください。
おしゃっるとおり
/usr/local/mysql を root:mysql 720 にしたら、
起動できなくなりました。
しかし、720 と、グループに書き込み権限を与えても
/usr/local/mysql/var mysql:mysql 700 には書き込めないんですねぇ。
何でなのか?
No.3
- 回答日時:
>mysqlユーザー以外に「書き込み権限」が必要なユーザーとは何ですか?
とくにないと思います。
PC-UNIXの運用ポリシーとしてはデーモンをroot以外の特定ユーザーで
動かすというのがトレンドですから、実行権限者mysqlさえよめる700で
十分だと思います。
No.2
- 回答日時:
>どうして?って感じです。
そういう設定になっているからとしか・・・
たぶん/usr/local/mysql/var/への書き込みがデフォルトユーザーのmysql
にしか許可されていないからだと思います
mysqlをソースから入れるときのざっとした手順としては
(1)アーカイブを持ってきて解凍
(2)./configure 適当なオプション && make
(3)suになってmake install
(4)scripts/mysql_install_dbを実行
(5)cp support-files/my-medium.cnf /etc/my.cnf
(6)mysqlグループをつくって、mysqlユーザーをつくる
(7)chown -R mysql:mysql /usr/local/mysql
(8)/usr/local/mysql/bin/safe_mysqld --user=mysql &
と、わたしの備忘録にかいてあります。
ありがとうございます。
# chown -R mysql:mysql /usr/local/mysql
する前は、
# ll /usr/local/mysql
...
...
drwx------ 4 mysql mysql 4096 1月 13 21:29 var
となっていました。
>たぶん/usr/local/mysql/var/への書き込みがデフォルトユーザーのmysql
>にしか許可されていないからだと思います
mysqlユーザー以外に「書き込み権限」が必要なユーザーとは何ですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
副問合せにLIKE文を使う方法は...
-
c言語でMySQLを利用するときの...
-
RPMのmysqlとmysql-serverの違い
-
MAMPでMySQLのパスが通らない
-
TeraTermでクエリを先読みして...
-
MySQLの地理情報の取り扱いにつ...
-
psqlでいう Ctrl+C
-
よくわかるPHPの教科書で勉強中...
-
MySQLで複数のマスターの受けは...
-
接続ができません
-
ERROR 1045 (28000) (using pas...
-
MySQLのテーブル作成でハイフン...
-
SQLのVARCHARとVARCHAR2の違い
-
参考書に従って入力したつもり...
-
MySQLカラム名は日本語と英数字...
-
INT型は金額の型に使用するべき...
-
【php+mysql】mysqlのレコード...
-
VBAで変数内に保持された二次配...
-
mysqlがインストールされている...
-
Float型の時の計算結果がおかしい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
副問合せにLIKE文を使う方法は...
-
RPMのmysqlとmysql-serverの違い
-
MySQLでAutoCommitをfalseにする
-
borland c++ によるMySQL への...
-
MySQL のコマンドが実行出来ま...
-
MySQLサーバーに接続でき...
-
xamppのMySQLが開かない
-
mysqlの画面から抜けられない
-
MAMPでMySQLのパスが通らない
-
データベースについて
-
mysqlのdatadirの変更について
-
windows7でのmysql ODBCの設定...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
MySQLカラム名は日本語と英数字...
-
ODP.NETのバージョン確認
-
旧filemakerで和暦(令和など)...
-
VBAで変数内に保持された二次配...
-
プライマリーキーの昇順でソー...
-
ERROR 1045 (28000) (using pas...
おすすめ情報