文档章节

MYSQL双主架构搭建方法

陈映亮
 陈映亮
发布于 2016/06/29 14:29
字数 594
阅读 90
收藏 0
================================= 
只是本人在搭建MYSQL主从服务器的笔记 ,不一定很好,高手可以飘过
 ================================= 
双主架构       	master A  <-->   master B  
第一步;改配置文件 ->默认位置/etc/my.cnf
master的
[mysqld] 
log-bin=mysql-bin  # 开启二进制日志
server-id=2   #ID的区分,两台主机的ID要不一样

slave的
 [mysqld]
 server-id=3

然后重启服务
第二步:授权

MySQL报错:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

解决办法:

mysql> set global read_only=0;
(关掉新主库的只读属性)

 flush privileges;
 

set global read_only=1;(读写属相)

 flush privileges;

 

master上授权,super和replication slave都是复制要用的权限
mysql> grant super,replication slave on *.* to 'jerry'@'10.1.1.7' identified by '123';
mysql> flush privileges;


mysql> show master status;	--只有打开二进制日志,这句命令才有结果,表示当前数据库的二进制日志写到什么位置
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      563 |              |                  |
+------------------+----------+--------------+------------------+


slave端的配置
mysql> slave stop;	--如果没有启过slave,这一步也是非必要的
Query OK, 0 rows affected, 1 warning (0.00 sec)


mysql> show warnings;	
+-------+------+--------------------------------+
| Level | Code | Message                        |
+-------+------+--------------------------------+
| Note  | 1255 | Slave already has been stopped | 
+-------+------+--------------------------------+

//此处为从的设置:需要master先授权
mysql> change master to
    -> master_user='jerry',
    -> master_password='123',
    -> master_host='10.1.1.6',		--主的IP
    -> master_port=3306,			--端口,如果为3307就要换成3307
    -> master_log_file='mysql-bin.000001',	--主上面查到的文件名
    -> master_log_pos=563;			--主上面查到的位置号
change master to master_user='jerry',master_password='123',master_host='10.1.1.6',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=563;
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)


mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.1.1.6
                  Master_User: li
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 563
               Relay_Log_File: mysql55-relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000001
              Slave_IO_Running: Yes
            Slave_SQL_Running: Yes   --这里两个YES,表示两个线程OK
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 563
              Relay_Log_Space: 411
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 2
1 row in set (0.00 sec)

...................................

***** Slave_IO_Running 为NO,多为授权或者防火墙设置的问题。此处一般为SQL连接问题所至
=================================
以上为一主一从的设置方法,如果要设置双主,就是所主从的关系变下,更新再设置一遍就是又主
注意点:
    1. 授权记得要清下权限 flush privileags;
    2. 记得防火墙的设置,主从服务器要PING得通
    3. selinux  (这个,我经常会忘记这块的设置)
 =================================

© 著作权归作者所有

共有 人打赏支持
陈映亮
粉丝 10
博文 130
码字总数 38454
作品 0
深圳
程序员
私信 提问
MMM+Amoeba搭建MySQL高可用负载均衡群集

MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离。MySQL的读写分离就是只在主服务器上写,只在从服务器上读...

cchenyz
07/22
0
0
五大常见的MySQL高可用方案

转自:https://zhuanlan.zhihu.com/p/25960208 1. 概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性...

严国华
06/07
0
0
基于keepalived搭建mysql双主高可用

目录 概述 环境准备 keepalived搭建 mysql搭建 mysql双主搭建 mysql双主高可用搭建 概述 传统(不借助中间件)的数据库主从搭建,如果主节点挂掉了,从节点只能读取无法写入,只能把人肉去恢复故障...

java_龙
11/29
0
0
MySQL集群之五大常见的MySQL高可用方案(转)

1. 概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据...

easonjim
2017/10/07
0
0
企业中MySQL高可用集群架构三部曲之MM+keepalived

各位老铁们,老张与大家又见面了。看到各位在博客里面给我的留言和访问量的情况,我很是欣慰,也谢谢大家对我的认可。我写这些博客,就是想把自己对于MySQL数据库的一些看法和自己平时的实战...

superZS
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

序列化与反序列化实现

一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象序列化之后得到的字节序列,主要有两种用途:   1) 把对...

狼王黄师傅
26分钟前
1
0
Spring boot 各种常用注解总结(不断完善中)

@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。 @Scope注解 作用域 @Lazy(true) 表示延迟初始化 @Service用于标注业务层组件、...

覃大光
28分钟前
2
1
《让家庭教育回归生活》读书笔记3000字范文

《让家庭教育回归生活》读书笔记3000字范文: 以前,只知道新东方是教英语的,也培训挖掘机司机,一直不知道他们还研究家庭教育。读了《让家庭教育回归生活》一书,才知道他们的家庭教育高峰...

原创小博客
39分钟前
3
0
spring学习笔记(二)spring 事件的使用

spring 中的事件 spring事件通过订阅发布 可以解耦操作 可以同步 可以异步 步骤 编写事件 通过继承org.springframework.context.ApplicationEvent 来编写事件 public ApplicationEvent(Obj...

NotFound403
昨天
15
0
特斯拉车主成功破解了自己Model 3汽车

据汽车博客Electrek消息,一位特斯拉车主成功破解了自己Model 3汽车,还在此基础上运行了Ubuntu。 这位叫trsohmers的网友表示,“功劳大多要归到Ingineerix的头上,他花了数月才找到初始的那...

linuxCool
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部