mysql 主从复制配置
环境:已经在centos下安装好mysql,安装参考:http://www.cnblogs.com/bookwed/p/5896619.html,安装好主数据库后,可以克隆一份,注意修改ip等。
192.168.137.10 主
192.168.137.11 从
1、修改master配置,vi /etc/my.cnf,重启服务
log_bin=mysql-bin #启用二进制日志
server_id =10 #服务器唯一ID,随便写,不要重复
lower_case_table_names = 1 #不区分大小写
2、修改slave配置,vi /etc/my.cnf,重启服务
log_bin=mysql-bin
server_id =11
lower_case_table_names = 1
3、创建用户并授权,在master上执行
useradd cat
grant replication slave on *.* to 'cat'@'%' identified by '123456';
flush privileges;
4、master上设置读锁定
flush tables with read lock;
5、查看master上的bin-log日志和偏移量
show master status
6、用dump备份master
mysqldump -uroot -proot test > test.sql
unlock tables; #备份完后,master恢复写操作
7、把备份恢复到slave数据库上
mysql -uroot -proot test < test.sql
8、slave执行手动同步
mysql>change master to
master_host='192.168.137.10',
master_user='cat',
master_password='123456',
master_port=3306,
master_log_file='mysql-bin.000002', #参考第5步的值
master_log_pos=716 #参考第5步的值
mysql>start slave; #启动从服务器复制功能
9、检查状态
标红的部分必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)
另外一个命令:show processlist
10、主从测试
在master上,创建一个库、建立一个表,插入几条数据,看是否slave上已同步过来。
说明:
1、有几步可以忽略,4、6、7这几步是在模拟生产环境下的数据库处理,主要是为了了解一下在master上已有数据的情况做主从复制的整个流程,如果是自己测试,这几步可以忽略,因为主库本来就是自己在操作,所以不可能有别的人对数据库做更新操作,也就不用再备份恢复了。
2、修改从属配置,即第8步,先stop slave,再执行一遍第8步。
最新文章
- django-- Models
- 【AngularJS】—— 8 自定义指令
- video和audio
- 【POJ】3255 Roadblocks(次短路+spfa)
- jQuery.serializeArray() 函数详解
- [转]加盐hash保存密码的正确方式
- PHP MySQL 创建数据库
- Java虚拟机类型卸载和类型更新解析(转)
- C# Windows服务的创建、安装、调试
- 把python文件编译成exe文件
- Jedis-returnResource使用注意事项
- Docker(二):Docker镜像使用
- Jmeter接口测试-断言
- yarn一直在跑一个用户为dr.who的application
- SpringBoot报错:Invalid bound statement (not found)
- Canvas中的非零环绕
- tomcat无法正常关闭问题分析及解决
- 前端基础:canvas概述
- Metasploit渗透测试梗概
- loj6157 A ^ BProblem (并查集)