MySQL 5.1.54 Ubuntu 11.04
I'am try to change bin log directory in my.conf as:
[mysqld]
log_bin=/home/developer/logs/mysql/mysql-bin.log
After this changes MySQL server can't start with error:
/usr/sbin/mysqld: File '/home/developer/logs/mysql/mysql-bin.index'
not found (Errcode: 13)
111005 12:47:58 [ERROR] Aborting
Permission for directory /home/developer/logs/mysql/ is 0777
What's going on?
Option 1:
service mysqld stop
Copy the log files including the .index file to new location.
Do Changes in the
/etc/my.cnf
file.service mysqld start
Option 2:
Use this utiltiy to relocate binary logs:
As documentation in mysql say https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_log_bin
The variable is log_bin and not log-bin at least in version 5.7
Your config is wrong:
You would use instead
It worked for me with:
As usual, the solution was simple but not obvious: it needed to edit apparmor settings I just added to /etc/apparmor.d/usr.sbin.mysqld a new string with path to target directory: /home/developer/logs/* rw
It works!
Just as an FYI for anyone who runs into a similar problem, the solution is basically the same, but the cause of the problem isn't obvious.
After upgrading Debian wheezy, mysql failed to start.
Somehow, I have no idea how, permissions on some of the files in
/var/lib/mysql
were not owned by the mysql user, thus preventing the server from firing up.A
chown -R mysql.mysql /var/lib/mysql
fixed it.I didn't do anything to mess up mysql, it was a standard:
Something got hinky during the Debian upgrade and manual intervention was needed.