I'm having problems
enabling binary logging on mySQL 4.1.20
After
adding
log-bin=/var/log/mysql/tts_db
to
my.cnf, mysql fails to restart, with the following error in
mysqld.log:
091112 03:36:37 mysqld
started
/usr/libexec/mysqld: File '/var/log/mysql/tts_db.000001' not found
(Errcode: 13)
091112 3:36:37 [ERROR] Could not use /var/log/mysql/tts_db for
logging (error 13). Turning logging off for the whole duration of the MySQL server
process. To turn it on again: fix the cause, shutdown the MySQL server and restart
it.
091112 3:36:37 [ERROR] Aborting
091112
3:36:37 [Note] /usr/libexec/mysqld: Shutdown complete
091112
03:36:37 mysqld ended
Whilst
looking at it to ask this question, I may have stumbled on the answer, but I'll check
anyway - I can't restart the server until tomorrow morning.
The mysql
directory (/var/log/mysql) is owned by root. Is this problem because the mysql user that
the server runs as doesn't have the correct privileges for creating a file in the
directory?
Here's the complete my.cnf ( i know
the log-bin is commented out - this is the current
one)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
set-variable=local-infile=0
set-variable
= max_connections=130
long_query_time =
1
log-slow-queries =/var/log/mysql/mysql-slow.log
#
Default to using old password format for compatibility with mysql 3.x
#
clients (those using the mysqlclient10 compatibility
package).
old_passwords=1
skip-bdb
#
We can't skip networking because the phpList server is on a different
server.
#skip-networking
set-variable =
innodb_thread_concurrency=2
table_cache =
512
query_cache_size = 20M
key_buffer_size =
64M
thread_cache_size = 10
tmp_table_size = 48M
# Added 11
Nov 2009 to enable binary logging for replication
server-id =
1
#log-bin=/var/log/mysql/tts_db
#expire-logs-days =
2
#max_binlog_size =
500M
#binlog-do-db=tts_db
#==============================================================================
#
mysql.server
section
#==============================================================================
#
[mysql.server]
user=mysql
basedir=/var/lib
#==============================================================================
#
mysqd_safe
section
#==============================================================================
#
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-bdb
set-variable
= innodb_thread_concurrency=2
table_cache =
512
query_cache_size = 20M
key_buffer_size =
64M
thread_cache_size = 10
tmp_table_size =
48M
open-files-limit =
4096
In
general on Linux systems, an Errno 13 means
Permissions Denied or Access Denied.
What's the output
of
# ls -ld
/var/log/mysql
# ls -l
/var/log/mysql
Does
this match with your MySQL user?
If not,
suggested solution (providing mysql is your mysql user and mysql is your
group):
chown -R mysql:mysql
/var/log/mysql
Comments
Post a Comment