赞
踩
引用网上的图:
- vim /etc/my.cnf
-
- [mysqld]
- ## 同一局域网内注意要唯一
- server-id=100
- ## 开启二进制日志功能,可以随便去
- log-bin=mysql-bin
- ## 复制过滤: 不需要备份的数据库, 不输出
- binlog-ignore-db=mysql
- ## 为每一个session 分配的内存,在事务过程中用来存储二进制日志的缓存
- binlog_cache_size=1M
- ## 主从复制的格式(mixed、statement、row,默认格式是statement)
- binlog_format=mixed
- vim /etc/my.cnf
-
- [mysqld]
- ## 同一局域网内注意要唯一
- server-id=102
- ## 开启二进制日志功能,以备Slave作为其他Slave的Master时使用
- log-bin=mysql-slave-bin
- ## relay_log配置中继日志
- relay_log=mky-mysql-relay-bin
- ## 复制过滤: 不需要备份的数据库, 不输出
- binlog-ignore-db=mysql
- ## 如果需要同步函数或者存储过程
- log_bin_trust_function_creators=true
- ## 为每一个session 分配的内存,在事务过程中用来存储二进制日志的缓存
- binlog_cache_size=1M
- ## 主从复制的格式(mixed、statement、row,默认格式是statement)
- binlog_format=mixed
- ## 跳过主从复制中遇到的所有错误或者指定类型的错误,避免slave端复制中断
- ## 1062错误是指一些主键重复, 1032错误是因为主从数据库数据不一致
- slave_skip_errors=1062
- mysql -uroot -pmaster的密码
-
- # 授予slave服务器可以同步master服务
-
- grant replication slave, replication client on *.* to 'root'@'slave的ip' identified by 'slave服务器的密码';
-
- flush privileges;
-
- # 查看mysql 有哪些用户以及对应的ip权限
- select user,host from mysql.user;
show master status;
- # 根据上面的show master status 查出来的结果填写
- change master to master_host='master服务器的ip', master_user='root', master_password='master密码',master_port=3306,master_log_file='mysql-bin.000001', master_log_pos=621;
-
- # 启动
- start slave;
-
- # 查看启动状态 (必须两个yes IO_RUNNING, SQL_RUNNING 都是yes才算成功)
- show slave status \G;
常见错误:
Slave_SQL_Running:No MYSQL镜像服务器因错误停止的恢复
解决方式:
- stop slave
-
- set global sql_slave_skip_counter=1;
-
- start slave
-
- show salve status \G;
Slave_IO_Running:No
解决方式:
- # master节点运行
- show master status;
-
-
- # 从节点运行
-
- stop slave
-
- change master to master_log_file='上面查出的结果',master_log_pos=上面查出的结果;
-
- start slave
-
- show salve status \G;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。