MySQL主从复制
2017-11-08 00:00
295 查看
MySQL主从复制
一、两台mysql服务器
master 192.168.1.90
slave 192.168.1.70
二、mysql版本号:5.5.28
三、配置
1. 配置Master
查找mysql配置文件: find / -name my.cnf
修改mysql配置文件: vi /etc/my.cnf,在[mysqld]下添加如下配置:
# 日志文件名
log-bin = mysql-bin
# 主数据库端ID号
server-id = 1
重启mysql
service mysqld restart
再去创建用于主从同步的账号
grant replication slave on *.* to 'slave_account'@'%' identified by 'ytkj';
flush privileges;
查看master的状态
show master status;
注:执行完这个步骤后不要再操作主数据库了,防止主数据库状态值变化
2. 配置Slave
查找mysql配置文件: find / -name my.cnf
修改mysql配置文件: vi /etc/my.cnf,在[mysqld]下添加如下配置:
# 从数据库端ID号
server-id = 2
重启mysql
service mysqld restart
执行同步命令,设置主数据库ip,同步帐号密码,同步位置
change master to master_host='192.168.1.90',master_user='slave_account',master_password='ytkj',master_log_file='mysql-bin.000001',master_log_pos=180;
开启同步功能
start slave;
检查从数据库状态
show slave status\G;
四、主从不一致时,怎么重新同步
1. 先停止slave上的同步服务,删除slave上的旧数据
stop slave;
drop database d1;
drop database d2;
2. 对master服务器的数据库加锁,防止对数据库的更新操作
flush tables with read lock;
3. 备份maser上的数据,同时将备份的sql文件传递到slave机器上
mysqldump -u root -p --databases d1 d2 > bak.sql,将bak.sql放在/opt目录下
scp bak.sql root@192.168.1.70:/opt
4. 重置master服务
reset master;
说明:RESET MASTER将删除所有的二进制日志,创建一个.000001的空日志
5. 对master服务器的数据库解锁
unlock tables;
6. 在slave服务器上/opt目录下执行:source bak.sql,将master上备份的数据导入到slave
7. 重置slave服务
reset slave;
说明:RESET SLAVE将清除slave上的同步位置,删除所有旧的同步日志,使用新的日志重新开始,这正是我们想要的
8. 重启slave服务
start slave;
9. 可以在slave上执行:show slave status\G; 查看slave的状态是否正常
一、两台mysql服务器
master 192.168.1.90
slave 192.168.1.70
二、mysql版本号:5.5.28
三、配置
1. 配置Master
查找mysql配置文件: find / -name my.cnf
修改mysql配置文件: vi /etc/my.cnf,在[mysqld]下添加如下配置:
# 日志文件名
log-bin = mysql-bin
# 主数据库端ID号
server-id = 1
重启mysql
service mysqld restart
再去创建用于主从同步的账号
grant replication slave on *.* to 'slave_account'@'%' identified by 'ytkj';
flush privileges;
查看master的状态
show master status;
注:执行完这个步骤后不要再操作主数据库了,防止主数据库状态值变化
2. 配置Slave
查找mysql配置文件: find / -name my.cnf
修改mysql配置文件: vi /etc/my.cnf,在[mysqld]下添加如下配置:
# 从数据库端ID号
server-id = 2
重启mysql
service mysqld restart
执行同步命令,设置主数据库ip,同步帐号密码,同步位置
change master to master_host='192.168.1.90',master_user='slave_account',master_password='ytkj',master_log_file='mysql-bin.000001',master_log_pos=180;
开启同步功能
start slave;
检查从数据库状态
show slave status\G;
四、主从不一致时,怎么重新同步
1. 先停止slave上的同步服务,删除slave上的旧数据
stop slave;
drop database d1;
drop database d2;
2. 对master服务器的数据库加锁,防止对数据库的更新操作
flush tables with read lock;
3. 备份maser上的数据,同时将备份的sql文件传递到slave机器上
mysqldump -u root -p --databases d1 d2 > bak.sql,将bak.sql放在/opt目录下
scp bak.sql root@192.168.1.70:/opt
4. 重置master服务
reset master;
说明:RESET MASTER将删除所有的二进制日志,创建一个.000001的空日志
5. 对master服务器的数据库解锁
unlock tables;
6. 在slave服务器上/opt目录下执行:source bak.sql,将master上备份的数据导入到slave
7. 重置slave服务
reset slave;
说明:RESET SLAVE将清除slave上的同步位置,删除所有旧的同步日志,使用新的日志重新开始,这正是我们想要的
8. 重启slave服务
start slave;
9. 可以在slave上执行:show slave status\G; 查看slave的状态是否正常
相关文章推荐
- mysql主从复制的原理及配置实现
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- MySQL 主从复制与读写分离
- Mysql 5.5 主从复制
- mysql 互为主从复制常见问题
- mysql主从复制配置
- mysql搭建主从复制
- mysql主从复制
- mysql主从复制中的半同步复制
- mysql主从复制(转)
- MySQL稳定性提高方案:主从复制
- MySQL主从复制延迟原因分析
- mysql主从复制(单向同步)
- 高可用架构-- MySQL主从复制的配置
- 高可用架构-- MySQL主从复制的配置
- mysql主从复制延迟问题
- mysql主从复制
- mysql 主从复制简单部署过程
- mysql主从复制
- Mysql主从复制