We have 2 servers, server1 is the known good and server2 is the one that is out of synchronisation.
Make sure nothing is actively querying server2. You can do this by turning on full query logging and tailing the log file for any queries.
mysql> SHOW GLOBAL VARIABLES like 'general_log%' ; +------------------+-------------------------------+ | Variable_name | Value | +------------------+-------------------------------+ | general_log | OFF | | general_log_file | /var/lib/mysql/server2.log | +------------------+-------------------------------+ 2 rows in set (0.00 sec) mysql> SET GLOBAL general_log = 'ON'; [root@server2 ~]# tail -f /var/lib/mysql/server2.log Stop the slave replication threads on both servers:
Small script to run an instance of mysql in my home directory using the binary provided by the OS. Maybe some day I will make it more usable but for the time being it suits my needs.
#!/bin/bash MYSQL_HOME=$HOME MYSQL_USER=$USER MYSQL_PORT=13306 ACTION=$1 if [ $ACTION == 'init' ]; then echo "initialising new mysql installation at $MYSQL_HOME/var/lib/mysql" rm -rf $MYSQL_HOME/var/lib/mysql mkdir -p $MYSQL_HOME/var/lib/mysql $MYSQL_HOME/mysql/data $HOME/var/lib/mysql/tmp mysql_install_db --user=$MYSQL_USER --datadir=$MYSQL_HOME/var/lib/mysql/data/ cat < $HOME/.my.cnf [mysqld] user=$MYSQL_USER datadir=$MYSQL_HOME/var/lib/mysql/data log-error=mysqld.log pid-file=mysqld.pid socket=$MYSQL_HOME/var/lib/mysql/tmp/mysql.sock port=$MYSQL_PORT [client] user=$MYSQL_USER socket=$MYSQL_HOME/var/lib/mysql/tmp/mysql.sock port=$MYSQL_PORT [safe_mysqld] log-error=mysqld.log pid-file=mysqld.pid port=$MYSQL_PORT EOT echo " Done" elif [ $ACTION == 'start' ];then echo -n "Starting mysqld as $MYSQL_USER on $MYSQL_PORT" nohup mysqld_safe &>/dev/null & echo " Done" elif [ $ACTION == 'stop' ];then PID=$(cat $MYSQL_HOME/var/lib/mysql/data/mysqld.pid) echo -n "Stopping mysql instance [$PID]" kill `cat $MYSQL_HOME/var/lib/mysql/data/mysqld.pid` echo " Done" else echo "Unknown command '$1'" fi UPDATED SCRIPT: