数据库复制
GRANT all ON *.* TO 'repl'@'%' IDENTIFIED BY 'slavepass';
stop slave;
CHANGE MASTER TO
MASTER_HOST='192.168.1.51',
MASTER_USER='repl',
MASTER_PASSWORD='slavepass',
MASTER_LOG_FILE='mysql-bin.000119',
MASTER_LOG_POS=333776004;
START SLAVE;
----------
复制错误
slave stop;
忽略行数
set global SQL_SLAVE_SKIP_COUNTER = 1062;
忽略错误
--slave-skip-errors=name
mysqld --help --verbose|grep skip
mysql复制的时候遇到错误就停在哪里, 需要手工去出错, 例如这个错误:
1062 | Error 'Duplicate entry 'adfadfadf' for key 1' on query. Default database: 'xx_db'. Query: 'INSERT INTO ...
假如只是一两条错误, 机器也很少, 哪倒是无所谓, 用下面的方法就可以了.
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql>slave start;
当你有很多繁忙的数据库, 维护总是让你很忙的时候. 假如在数据要求不是那么高的时候, 也有一个方法让你没有烦恼, 在slave的my.cnf里面写入.
slave-skip-errors = 1062
-------------------------------------------------------------
定期清除mysql bin log
查看/etc/mysql/my.cnf ,发现
expire-logs-days = 20
把expire-logs-days 设成3,然后在mysql命令行执行
PURGE MASTER LOGS TO 'mysql-bin.000930';
即可删除930之前的binlog