重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql中怎么实现主从和主主模式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联公司主要从事成都网站建设、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务临川,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108mysql 复制的实现机制
1)首先主mysql把操作语句保存在bin-log中
2)从服务器启动一个进程或线程向主mysql发起请求
3)从mysql 把主mysql的bin-log中的操作语句复制的从mysql的relay-log中
4)在从上执行这些操作语句
配置
主mysql 这里主要介绍要改变的内容(主从就是从各自为主的独立模式改变过来的)
1)在/etc/my.cnf 添加或修改如下内容
bin-log = mysql.bin-log #定义bin-log的文件名 (默认保存在数据目录下)
bin-log-index = mysql.bin-log.index #定义bin-log-index的文件名
binlog-format = mixed #定义binlog的格式
server-id = 1 #一定要确保主mysql的server-id 小于从mysql的server-id
2)启动mysql 和配置
#service mysqld start
#mysql #进入mysql
#set password for (‘mima’);
#set password for (‘mima’);
#grant replication slave,replication client on *.* to identified by 'mima'; #赋予username 拥有复制的权限
#flush privileges;
#show master status; #查看主mysql的状态
从mysql
1)在/etc/my.cnf 添加或修改如下内容
relay-log = mysql.relay-log #定义relay-log的文件名 (默认保存在数据目录下)
relay-log-index = mysql.relay-log.index #定义relay-log-index的文件名
server-id = 11 #一定要大于主mysql的server-id
2)启动mysql 和配置
#service mysqld start
#mysql #进入mysql
#set password for (‘mima’);
#set password for (‘mima’);
#flush privileges;
#change master to master_host='master_ip',master_user='username',master_password='mima';
#链接主mysql
#start slave;
#show slave status;
测试
在主mysql上建立一个或表,查看从是否自动‘复制’的过来
主主 的模式其实就是两边都是主,同时互为主从,可以简单的理解为把主从的配置文件整合一下就行了~~
主主模式有一个较大的问题就是当主从都同时向同一张表中写数据时,如果对应的id是自动增加,这是就有了严重的问题,为了解决这个问题,需要设定低端不同的起始值,并指定自动增加的变量为2。
关于mysql中怎么实现主从和主主模式问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。