Switch master
From Wikitech
(Difference between revisions)
(svn link) |
m |
||
| Line 12: | Line 12: | ||
* Press enter, this will attempt to switch the master to read-only. If there are long-running queries, kill them now. The script will block at FLUSH TABLES until you do. | * Press enter, this will attempt to switch the master to read-only. If there are long-running queries, kill them now. The script will block at FLUSH TABLES until you do. | ||
* Check for slave lag. Slave lag must be zero on the new master before you continue. | * Check for slave lag. Slave lag must be zero on the new master before you continue. | ||
| − | * Press enter a few more times until it's done, these steps usually work. | + | * Press enter a few more times until it's done, these steps usually work. There may be an error from the old master saying that SLAVE STOP requires a running slave, you can ignore it. |
* Edit db.php again, turning off read-only mode and simultaneously switching the loads configuration. | * Edit db.php again, turning off read-only mode and simultaneously switching the loads configuration. | ||
Revision as of 17:09, 10 November 2006
To switch masters:
cd ~tstarling/src/tools/switch-master
- Edit config.others or config.enwiki depending on which master you are switching. Then copy it to config. Config is the file that is actually used.
- Log in to the mysql on the old master as root. Check for any long running queries. Kill them. If there is a single long-running query such as a backup, which will restart after you kill it, then get its thread ID ready in a kill command, ready to press enter later.
- Set read-only mode in db.php, sync it.
- Start the script
./switch
- Press enter, this will attempt to switch the master to read-only. If there are long-running queries, kill them now. The script will block at FLUSH TABLES until you do.
- Check for slave lag. Slave lag must be zero on the new master before you continue.
- Press enter a few more times until it's done, these steps usually work. There may be an error from the old master saying that SLAVE STOP requires a running slave, you can ignore it.
- Edit db.php again, turning off read-only mode and simultaneously switching the loads configuration.