视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql主从和主主模式_MySQL
2020-11-09 18:10:54 责编:小采
文档


bitsCN.com

mysql 复制的实现机制
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 root@‘localhost’=password(‘mima’);
#set password for root@‘127.0.0.1’=password(‘mima’);
#grant replication slave,replication client on *.* to username@'ip' 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 root@‘localhost’=password(‘mima’);
#set password for root@‘127.0.0.1’=password(‘mima’);
#flush privileges;
#change master to master_host='master_ip',master_user='username',master_password='mima';
#链接主mysql
#start slave;
#show slave status;
测试
在主mysql上建立一个数据库或表,查看从mysql是否自动‘复制’的过来

主主 的模式其实就是两边都是主,同时互为主从,可以简单的理解为把主从的配置文件整合一下就行了~~
主主模式有一个最大的问题就是当主从都同时向同一张表中写数据时,如果对应的id是自动增加,这是就有了严重的问题,为了解决这个问题,需要设定低端不同的起始值,并指定自动增加的变量为2。



作者“残雪”

bitsCN.com

下载本文
显示全文
专题