Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I want to start replication on DB that has many InnoDB tables and MyISAM tables. I did everything according to manual Creating a Data Snapshot Using Raw Data Files.

Firstly, I tried copied all tables files with relay log and etc. without ib_logfile and ibdata. Replication didn't work it couldn't find InnodDB tables, after that I tried to do the same with ib_logfile and ibdata, it failed with error message Error 'Unknown table engine 'InnoDB'' on opening tables.

When I tried to copy my.cnf from original server mysql failed to start at all (version 5.1.41).

I am not sure if it's possible to start replication with raw data and InnoDb files. Please, if you have experience, share it with me. How can I deal with it.

Thanks!

share|improve this question
2  
What other errors exist in the error log aside from 'Unknown table engine INNODB' ? If I had to venture a guess, it's because the size of your ib_logfile differs on the slave server. Try deleting the 'ib_logfile' (not ibdata) and restart the server to see if it recognizes INNODB –  Derek Downey Jan 18 '12 at 17:01
    
@DTest, looks like you are right, Thanks you very much!!! –  com Jan 19 '12 at 9:05

2 Answers 2

up vote 3 down vote accepted

When you get 'Unknown table engine INNODB', it means something when wrong with startup. If you look in your error logs, you should be able to get more information.

My first instinct is that your ib_logfile is a different size on your master than what is configured in the slave. If you stop the slave server, delete the ib_logfile from the snapshot when setting up the slave, then restart mysql, it should correct itself.

NOTE: Do not delete the ibdata file! Only the ib_logfiles

share|improve this answer
    
+1 for directly addressing the question because InnoDB issue has to be resolved before setting up replication. –  RolandoMySQLDBA Jan 19 '12 at 16:14

Instead of using a tar method, try using rysnc.

I have written posts about how to use rsync a running server with minimum downtime.

Just make sure

  • Binary Logging is enabled on the Master
  • you copy /etc/my.cnf from master to new slave
  • change the server-id in the slave's my.cnf
share|improve this answer
    
Thank you very much for the answer!!! –  com Jan 19 '12 at 9:05

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.