Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Zero-Downtime Schema Changes In MySQL

DZone's Guide to

Zero-Downtime Schema Changes In MySQL

· Performance Zone
Free Resource

Transform incident management with machine learning and analytics to help you maintain optimal performance and availability while keeping pace with the growing demands of digital business with this eBook, brought to you in partnership with BMC.

The recording of yesterday’s webinar, as well as a PDF of my slide deck, is now available. You can watch the recording and get the slides here.

I got a lot of questions, and did not have enough time to answer all of them, so let me try to answer some of the remaining questions here.

Q: Isn’t it possible to take all the locks required in the beginning to prevent dead locks? So you would get a lock wait instead of a dead lock. No, that would cause blocking that would defeat the purpose of the tool.

Q: When you say bail out, what does that mean? Does the tool clean up (i.e., remove table / triggers?) About cleanup.. What about manual aborting a run. will that cleanup ? Q: dose the tool exit gracefully while interupted? The tool doesn’t clean up the temporary table or triggers. It is designed to be resumable, although we don’t yet have a “resume” feature implemented.

Q: periodically the ALTER isn’t written to the bin-log and thus isn’t replicated, why ? without any replication filters or relevant args, the replication breaks reliably on the __tmp_x table why ? The first question sounds like a potential MySQL bug. Are you sure this is really happening? I would be extremely surprised for such a bug to be happening. In reply to the second question, the 2.1 version of the tool does NOT have any features to disable the binary log; my experience has been that this is a very dangerous thing to do and causes way too many bugs in the server and the tool, so there is no code in the tool that disables binary logging at all. Are you using the 2.0 version of this tool? It was completely rewritten in version 2.1.

Q: qw() as use of () is deprecated That sounds like you’re using an old version of the tool.

Q: Old version of PT OSC said risk in replication environment, I didn’t see that in the new version, does it mean the tool has been well tested in replication environment? Yes.

Evolve your approach to Application Performance Monitoring by adopting five best practices that are outlined and explored in this e-book, brought to you in partnership with BMC.

Topics:

Published at DZone with permission of Peter Zaitsev, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}