Timeout error on starting MySQL after adding Master for replication

Hi All

I am trying to setup replication on my mysql server. I followed

http://www.howtoforge.com/mysql_database_replication

and added

log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db=exampledb
server-id=1

To [mysqld]

After that I tried to restart mysql and I got the error below:

Timeout error occurred trying to start MySQL Daemon.

I am running CentOS 4.5.

Did I miss anything here ?

Thanks
LVL 19
http:// thevpn.guruAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

UmeshMySQL Principle Technical Support EngineerCommented:
Can you please post the error log contents here...
Pls replace MySQlErrorLogFile.err with actual error log file(complete path).. error log should be n data dir

tail -n 100 MySQlErrorLogFile.err

BTW, Did you created schema named "exampledb" on master?
0
http:// thevpn.guruAuthor Commented:
tail -f  /var/log/mysqld.log

shows nothing

and yes the db exists on master
0
UmeshMySQL Principle Technical Support EngineerCommented:
Pls check the error log... the log file which you shown seems to be general query log.
Error log should be created under data dir & has .err extension.. by default file naming is something host_name.err

Pls check my.cnf if it has an entry for the error log.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

http:// thevpn.guruAuthor Commented:
I checked no error log entries in my.cnf the only log entry is under [mysql_safe] if I want to add it under which section should i add it ?
0
UmeshMySQL Principle Technical Support EngineerCommented:
should be under [mysqld]

mysqld_safe reads all options from the [mysqld], [server], and [mysqld_safe] sections in option files. For example, if you specify a [mysqld] section like this, mysqld_safe will find and use the --log-error option:

[mysqld]
log-error=/var/lib/mysqld.err
0
http:// thevpn.guruAuthor Commented:
Hi I did add

log-error=/var/log/mysqld.err

When I did the restart  I got
/usr/libexec/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
081028  9:01:16 [ERROR] Aborting

I created that file however now it just says :

Timeout error occurred trying to start MySQL Daemon.
Starting MySQL:                                            [FAILED]

That is all I get even the error file is not throwing any error.
0
UmeshMySQL Principle Technical Support EngineerCommented:
From below error it seems some permission error..

/usr/libexec/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)

shell> perror 13
OS error code  13:  Permission denied

Can you please check whether or not mysql:mysql has writes on

/var/lib/mysql

MySQL keeps track of binary log index in mysql-bin.index..

Why Im asking you the error log file is bcoz mysql stores all the errors in it which are very useful in debugging and resolving most of the errors..
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
macker-Commented:
The principal problem is where you're trying to write the file to.

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

You're trying to write the binary log to /var/log/mysql/.  /var/log/mysql is meant for log output from syslog and similar, while binary logs are actual mysql datafiles for the database.

Try changing your log-bin line to:

log-bin = /var/lib/mysql/mysql-bin

Next make sure that whatever db follows 'binlog-do-db=' does actually exist.  So if you want to replicate the database named 'test', you'd have:

binlog-do-db=test


You should also refer to the excellent MySQL documentation on replication, found at:

http://dev.mysql.com/doc/refman/5.0/en/replication-implementation.html
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.