3

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!

2
  • 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 Commented Jan 18, 2012 at 17:01
  • @DTest, looks like you are right, Thanks you very much!!!
    – com
    Commented Jan 19, 2012 at 9:05

2 Answers 2

3

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

1
  • +1 for directly addressing the question because InnoDB issue has to be resolved before setting up replication. Commented Jan 19, 2012 at 16:14
2

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
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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