一、配置主数据库
1、在mysql 配置文件my.cnf中设置主数据库配置
sql
server-id=1 //唯一的标示符
log-bin=mysql-bin //开启二进制日志
2、重启数据库
3、安全规范的写法是新建一个用户给这个用户复制的权限(直接用root也可以不建议)
sql
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; //repl用户名 //%代表可以链接的地址%表示任何IP都可以访问 可以把%替换为具体的ip password表示用户名
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; # 授权复制权限
二、在从库中设置(my.cnf)
1、
sql
server-id=2 //唯一的标示符
replicate-do-db = sys //需要同步的库
2、重启数据库
3、设置主库的连接信息
sql
CHANGE MASTER TO
MASTER_HOST='', //主库ip
MASTER_USER='', //账号
MASTER_PASSWORD='', //密码
MASTER_PORT=3306; //端口
4、重启数据库
三、检查主从状态
在从库上执行SHOW SLAVE STATUS 命令,查看复制状态。
Slave_IO_Running和Slave_SQL_Running都为Yes,表示复制进程正常运行。
==============================>问题排查
重新连接主从后
stop slave 关闭主从
START SLAVE; 开启主从
SHOW SLAVE STATUS; 显示状态
如果Slave_SQL_Running为no
一、去主库执行
sql
show master status ; //记住Position
FLUSH PRIVILEGES; //刷新权限
再次执行记住Position
show master status ; //记住Position
二、去从库执行
sql
stop slave; //关闭主从
CHANGE MASTER to
MASTER_HOST = '',
MASTER_USER = '',
MASTER_PASSWORD = '',
MASTER_PORT = 3306,
MASTER_LOG_POS = 3095; //上面主库的Position
START SLAVE; //开启主从