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です
どうしたの?
いつものように、解決策は簡単でしたが明らかではありませんでした:/ etc/apparmor.d/usr.sbin.mysqldに追加したapparmor設定を編集する必要がありました。ターゲットディレクトリへのパスを持つ新しい文字列:- / home/developer/logs/* rw
できます!
/ usr/sbin/mysqld:ファイル '/usr/binlogs/mysql-bin.index'が見つかりません(エラーコード:13)
それは私のために働いた:
chown -R mysql:mysql/usr/binlogs /
同様の問題に出くわした人の参考までに、解決策は基本的に同じですが、問題の原因は明らかではありません。
Debian wheezyをアップグレードした後、mysqlを開始できませんでした。
どういうわけか、/var/lib/mysql
はmysqlユーザーが所有していないため、サーバーが起動しません。
chown -R mysql.mysql /var/lib/mysql
それを修正しました。
私はmysqlを台無しにするために何もしませんでした、それは標準でした:
apt-get update
apt-get upgrade
Debianのアップグレード中に問題が発生し、手動の介入が必要になりました。
オプション1:
service mysqld stop
.indexファイルを含むログファイルを新しい場所にコピーします。
cp mysql-bin.log* /path/to/binlogs
cp mysql-bin.index /path/to/binlogs
/etc/my.cnf
ファイルを変更します。
[mysqld]
log-bin=/path/to/newdirecory/mysql-bin
log-bin-index=/path/to/newdirectory/mysql-bin.index
service mysqld start
オプション2:
このユーティリティを使用して、バイナリログを再配置します。
mysqlbinlogmove --binlog-dir=/server/data /new/binlog_dir
Selinuxは、MySQLデータベースファイルが/ var/lib/mysqlに存在し、他の場所には存在しないという規則を実施する場合があります。 mysqlを別のディレクトリに移動した場合は、selinux(カーネルブートコマンドラインでselinux = 0)をオフにしてみてください。
「my.cnf」ファイルのレプリケーション構成中に言及する必要があります
server-id = 1 log_bin =/var/log/mysql/mysql-bin.log
独自のディレクトリを作成して許可を与えることができます。/var/log /にディレクトリ「mysql」を作成します
chmod 777 mysql
これはMySQLバージョン5.7に適用されます
mysqld:ファイル '/data/log/mysql/mysql-bin.index'が見つかりません(エラーコード:2-そのようなファイルまたはディレクトリはありません)
私は本当にMySQL Master-Slave setupの途中で立ち往生しました。最後に、上記は許可の問題でしたが、以下のコマンドを追加すると問題が解決しました。
chown -R mysql:mysql/data/log/mysql /
次のように、ディレクトリへのユーザー権限を付与する必要があります。
chown -R mysql:mysql /home/developer/logs/mysql/
ログの場所を定義しているmy.cnf
ファイルの行にコメントを付けることもできます。これにより、mysqlはデフォルトのパスを考慮し、適切に起動します。
log-bin = /var/log/mysql/mysql-bin.log
-> #log-bin = /var/log/mysql/mysql-bin.log
。
これは、ログをあまり気にしない場合に役立ちます。
Mysqlのドキュメントには https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_log_bin
変数はlog_binであり、少なくともバージョン5.7ではlog-binではありません
新規インストール中にdatadir変数を変更しようとしたときに、同様の問題が発生しました。私の場合の解決策は、log-binを無効にして初めて起動することでした。その後、新しいパスを使用して再び有効にすることができました...
設定が間違っています:
log_bin=/home/developer/logs/mysql/mysql-bin.log
代わりに使用します
log-bin=/home/developer/logs/mysql/mysql-bin.log
ユーザーはすべての上位ディレクトリにアクセスできますか?特別なのは、/ home/developer /ディレクトリですか? mysqlサーバーアカウントでログインし、ログファイルをタッチしてみてください。