web-dev-qa-db-ja.com

binログディレクトリを変更してください:mysql-bin.index not found(Errcode:13)

MySQL 5.1.54 Ubuntu 11.04

私はmy.confのbinログディレクトリを次のように変更しようとしています:

[mysqld]
log_bin=/home/developer/logs/mysql/mysql-bin.log

この変更後、MySQLサーバーはエラーで起動できません。

/usr/sbin/mysqld: File '/home/developer/logs/mysql/mysql-bin.index' 
not found (Errcode: 13)
111005 12:47:58 [ERROR] Aborting

ディレクトリ/ home/developer/logs/mysql /の許可は0777です

どうしたの?

25
solo117

いつものように、解決策は簡単でしたが明らかではありませんでした:/ etc/apparmor.d/usr.sbin.mysqldに追加したapparmor設定を編集する必要がありました。ターゲットディレクトリへのパスを持つ新しい文字列:- / home/developer/logs/* rw

できます!

26
solo117

/ usr/sbin/mysqld:ファイル '/usr/binlogs/mysql-bin.index'が見つかりません(エラーコード:13)

それは私のために働いた:

chown -R mysql:mysql/usr/binlogs /

22
Pradeep Jadhav

同様の問題に出くわした人の参考までに、解決策は基本的に同じですが、問題の原因は明らかではありません。

Debian wheezyをアップグレードした後、mysqlを開始できませんでした。

どういうわけか、/var/lib/mysqlはmysqlユーザーが所有していないため、サーバーが起動しません。

chown -R mysql.mysql /var/lib/mysqlそれを修正しました。

私はmysqlを台無しにするために何もしませんでした、それは標準でした:

apt-get update

apt-get upgrade

Debianのアップグレード中に問題が発生し、手動の介入が必要になりました。

8
Halfstop

オプション1:

  1. service mysqld stop

  2. .indexファイルを含むログファイルを新しい場所にコピーします。

     cp mysql-bin.log* /path/to/binlogs
     cp mysql-bin.index /path/to/binlogs
    
  3. /etc/my.cnfファイルを変更します。

    [mysqld]
    log-bin=/path/to/newdirecory/mysql-bin
    
    log-bin-index=/path/to/newdirectory/mysql-bin.index
    
  4. service mysqld start

オプション2:

このユーティリティを使用して、バイナリログを再配置します。

mysqlbinlogmove --binlog-dir=/server/data /new/binlog_dir
4
Jeeva

Selinuxは、MySQLデータベースファイルが/ var/lib/mysqlに存在し、他の場所には存在しないという規則を実施する場合があります。 mysqlを別のディレクトリに移動した場合は、selinux(カーネルブートコマンドラインでselinux = 0)をオフにしてみてください。

3
Jim Ockers

「my.cnf」ファイルのレプリケーション構成中に言及する必要があります

server-id = 1 log_bin =/var/log/mysql/mysql-bin.log

独自のディレクトリを作成して許可を与えることができます。/var/log /にディレクトリ「mysql」を作成します

chmod 777 mysql

これはMySQLバージョン5.7に適用されます

1
Samrendra

mysqld:ファイル '/data/log/mysql/mysql-bin.index'が見つかりません(エラーコード:2-そのようなファイルまたはディレクトリはありません)

私は本当にMySQL Master-Slave setupの途中で立ち往生しました。最後に、上記は許可の問題でしたが、以下のコマンドを追加すると問題が解決しました。

chown -R mysql:mysql/data/log/mysql /

1
Vaisakh PS

次のように、ディレクトリへのユーザー権限を付与する必要があります。

chown -R mysql:mysql /home/developer/logs/mysql/
1
Sujit Devkar

ログの場所を定義しているmy.cnfファイルの行にコメントを付けることもできます。これにより、mysqlはデフォルトのパスを考慮し、適切に起動します。

log-bin = /var/log/mysql/mysql-bin.log-> #log-bin = /var/log/mysql/mysql-bin.log

これは、ログをあまり気にしない場合に役立ちます。

0
Swaps

Mysqlのドキュメントには https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_log_bin

変数はlog_binであり、少なくともバージョン5.7ではlog-binではありません

0

新規インストール中にdatadir変数を変更しようとしたときに、同様の問題が発生しました。私の場合の解決策は、log-binを無効にして初めて起動することでした。その後、新しいパスを使用して再び有効にすることができました...

0

設定が間違っています:

log_bin=/home/developer/logs/mysql/mysql-bin.log

代わりに使用します

log-bin=/home/developer/logs/mysql/mysql-bin.log
0
user2648582

ユーザーはすべての上位ディレクトリにアクセスできますか?特別なのは、/ home/developer /ディレクトリですか? mysqlサーバーアカウントでログインし、ログファイルをタッチしてみてください。

0
Andreas