UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
    SET col_name1=expr1 [, col_name2=expr2, ...]
    [WHERE where_definition]
    [LIMIT #]
tbl_name
— Задает имя таблицы, в которой будут обновляться записи. На момент запуска команды UPDATE таблица с таким именем должна существовать в базе данных.
LOW_PRIORITY
— Если указан этот параметр, то обновление записи будет отложена до тех пор, пока другие сценарии не закончат чтение из этой таблицы.
IGNORE
— Если некоторые поля таблицы имеют ключи PRIMARY или UNIQUE, и производится обновление строки, в которой эти поля имеют дублирующее значение, то действие команды аварийно завершается и выдается ошибка №1062 («Duplicate entry 'val' for key N»). Если в команде INSERT указано ключевое слово IGNORE, то обновление записей не прерывается, а строки с дублирующими значениями просто не изменяются.
SET
— После этого ключевого слова должен идти список полей таблицы, которые будут обновлены и непосредственно сами новые значения полей в виде:
имя поля='значение'
Следующий пример производит обновление поля country у ВСЕХ записей в таблице users:
1 UPDATE
2     `users`
3 SET
4     `country`='Russia'
А здесь обновление полей country и city у ВСЕХ записей таблицы users:
1 UPDATE
2     `users`
3 SET
4     `country`='Russia',
5     `city`='Ryazan'
Если новое значение, присваиваемое командой UPDATE соответствует старому, то обновление этого поля не происходит.
Для задания нового значения можно использовать выражения.
Следующий пример увеличит возраст всех пользователей, записанных в таблице users на один год:
1 UPDATE
2     `users`
3 SET
4     `age`=`age`+1
WHERE
— Задает условие отбора записей, подлежащих изменению.
Следующий пример изменит название города в записях пользователей с «Ryazan» на «Рязань»:
1 UPDATE
2     `users`
3 SET
4     `city`='Рязань'
5 WHERE
6     `city`='Ryazan'
LIMIT
— Задает максимальное количество строк, которые могут быть изменены.
1 UPDATE
2     `users`
3 SET
4     `age`=`age`+1
5 LIMIT
6     5

 

http://www.spravkaweb.ru/mysql/sql/update

На мой взгляд, кажется удобней просматривать ллги используяяя таблицу   нежели файл.Т.е. можно выставить

SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';

После немного подождать и уже можно анализировать

SELECT * FROM mysql.general_log;
SELECT * FROM mysql.slow_log;

Также для удобства можно поставить индекс по дате, нонужно конвертнуть таблицы в MyISAM ( они по умолчанию CSV)

SET @old_logstate = @@global.general_log;
SET GLOBAL general_log = 'OFF';
ALTER TABLE mysql.general_log ENGINE = MyISAM;
ALTER TABLE mysql.slow_log    ENGINE = MyISAM;
ALTER TABLE mysql.slow_log    ADD INDEX (start_time);
ALTER TABLE mysql.general_log ADD INDEX (event_time);
SET GLOBAL slow_query_log = @old_logstate;

Дано:

MySQL сервер (у меня он на Ubuntu, но тут, пожалуй не важно) — одна штука, база данных base1.

Надо:

Сделать репликацию базы на том же самом сервере, не запуская дополнительных процессов, в базу base2.

Решение:

Копируем base1 в base2, каким угодно способом, это ваше начальное состояние, после этого base1 не должна меняться.

Настраиваем [mysql] секцию в /etc/mysql/my.cnf, добавив:

...
server-id=1
report-host=master-is-slave-host
log-bin=myserver-binlog
relay-log=myserver-relaylog
replicate-same-server-id=1
binlog-do-db=base1
replicate-rewrite-db=base1->base2
replicate-do-db=base2
...

После этого следует перезапустить сервер и можно увидеть, что binlog начал писаться:

# service mysql restart
...
# ls /var/lib/mysql/myserver*
myserver-binlog.000001

Выдыхаем, запускаем работу вашего приложения с base1, теперь можно.

Осталось запустить репликацию, выполняем админом в базе:

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'localhost' IDENTIFIED BY 'CoolPassW0rd';
FLUSH PRIVILEGES;
CHANGE MASTER TO MASTER_HOST='localhost', MASTER_USER='repl',
    MASTER_PASSWORD='CoolPassW0rd', MASTER_LOG_FILE='myserver-binlog.000001';
START SLAVE;

И для контроля, что всё ок, посмотрите, что выдают:

SHOW MASTER STATUS;
SHOW SLAVE STATUS;