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!

RolandoMySQLDBA
185k34 gold badges327 silver badges541 bronze badges
asked Jan 18, 2012 at 16:54
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!!! 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

answered Jan 19, 2012 at 16:05
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
answered Jan 18, 2012 at 23:30
0

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.