文档章节

MYSQL双主架构搭建方法

陈映亮
 陈映亮
发布于 2016/06/29 14:29
字数 594
阅读 254
收藏 0

码上生花,ECharts 作品展示赛正式启动!>>>

================================= 
只是本人在搭建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
2018/07/22
0
0
Mycat+Mysql主从复制实现双机热备

Mycat+Mysql主从复制实现双机热备 一、mysql主从配置原理 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步。对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个...

osc_y4l0tx8t
2019/05/13
1
0
mysql8主从和主主复制实战

文章目录 mysql8主从和主主复制实战 1.mysql服务器列表 2.mysql服务器主从复制搭建 3.mysql服务器主主复制 4.过程中出错了怎么办? 5.测试 mysql8主从和主主复制实战 本文将实战搭建一个mys...

akanswer
04/21
0
0
mysql 架构篇系列 1 复制原理和复制架构

一. 复制概述   mysql 从3.23版本开始提供复制功能,复制是指将主数据库的ddl和dml操作通过二进制日志传到复制服务器(也叫从服务器)上,然后在从服务器上对这些日志重新执行(也叫重做),从...

osc_lnvseat3
2018/10/25
2
0
MySQL - MMM 实现 MySQL 高可用

MMM (Master-Master replication manager for MySQL,MySQL 主主复制管理器)是一套支持双主故障切换和双主日常管理的脚本程序。MMM 使用 Perl 语言开发,主要用来监控和管理 MySQL Master-M...

你讲多次
2018/08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Springboot Actuator

Springboot Actuator 1. 启用springboot actuator <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>dep......

AngerWind
今天
18
0
OSChina 周日乱弹 —— 一个幼小的猕猴桃等待食物转身

1@ 辽元 起床以后, 突然发现时间已经10点啦! 不会晚了吧? 忽然想起来今天是周末, 13 “梦见自己变成猫后,一下子惊醒了,不对是笑醒了。” @冰峰雪座 觉得昨晚的睡眠质量实在不是很好, ...

小小编辑
今天
33
0
【第一行代码--Android】Kotlin入门教程精简版

Google在2017年的I/O大会上宣布Kotlin正式成为Android的以及开发语言,Android Studio也对Kotlin提供了全面支持。 怎样运行kotlin的代码?通过https://try.kotlinlang.org 或者 IDEA 以及 其...

Drop_Table_User
今天
11
0
解决Cannot download "https://github.com/sass/node-sass/releases/download/binding.nod的问题

输入命令解决即可 npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

千年典韦
今天
10
0
测试jar 是否完整有错

cd WEB-INF/lib/for j in *.jar; do echo $j; jar tvf $j > /dev/null ; echo $j done; done

xiaodong16
今天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部