30

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 です

どうしたの?

4

13 に答える 13

33

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

できます!

于 2011-10-06T06:43:23.587 に答える
26

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

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

chown -R mysql:mysql /usr/binlogs/

于 2013-06-02T19:02:45.827 に答える
14

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

Debian wheezy をアップグレードした後、mysql が起動しませんでした。

どういうわけか、一部のファイルのアクセス許可が/var/lib/mysqlmysql ユーザーによって所有されていなかったため、サーバーが起動できなかった理由がわかりません。

Achown -R mysql.mysql /var/lib/mysql修正しました。

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

apt-get update

apt-get upgrade

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

于 2014-02-17T03:45:18.593 に答える
4

オプション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
于 2015-09-18T09:13:27.403 に答える
3

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

于 2013-01-04T06:38:06.360 に答える
2

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

chown -R mysql:mysql /home/developer/logs/mysql/
于 2016-05-12T07:00:59.637 に答える
1

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

MySQL マスター - スレーブのセットアップの途中で本当に行き詰まりました。最後に、上記は許可の問題であり、以下のコマンドを追加すると問題が解決しました。

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

于 2018-09-24T13:50:11.413 に答える
1

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

于 2011-10-05T11:22:10.477 に答える
0

あなたの設定が間違っています:

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

代わりに使用します

log-bin=/home/developer/logs/mysql/mysql-bin.log
于 2016-06-25T03:23:51.160 に答える
0

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

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

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

于 2016-11-30T07:05:02.107 に答える
0

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

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

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

chmod 777 mysql

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

于 2016-07-16T13:07:15.037 に答える
0

mysql のドキュメントにあるように、https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_log_bin

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

于 2019-04-11T15:00:37.120 に答える
0

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

于 2011-10-05T11:40:42.393 に答える