mysql 主从复制

主数据库配置

[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1

从数据库配置

[mysqld]
server-id=2 

主数据库建立复制用户

mysql> CREATE USER 'repl'@'123.57.44.85' IDENTIFIED BY 'repl123';#创建用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'123.57.44.85';#分配权限
mysql>flush privileges;   #刷新权限

   查看主库的位置和bin-log文件名

   

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73       | test         | manual,mysql     |
+------------------+----------+--------------+------------------+

从库操作

CHANGE MASTER TO MASTER_HOST='123.57.44.85', MASTER_USER='repl',MASTER_PASSWORD='repl123', MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=73;

启动从库

start  slave;

查看slave状态

show slave status;

如果出现slave执行sql错误

可以跳过一个事务

mysql>slave stop;
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1        #跳过一个事务
mysql>slave start

修改mysql的配置文件,通过slave_skip_errors参数来跳所有错误或指定类型的错误
vi /etc/my.cnf
[mysqld]
#slave-skip-errors=1062,1053,1146 #跳过指定error no类型的错误
#slave-skip-errors=all #跳过所有错误




原文地址:https://www.cnblogs.com/kuku0223/p/9989799.html