1:安装命令 2台机分别安装

yum –y install mysql-server

2:配置登陆用户的密码root

/usr/bin/mysqladmin -u root password 'root'

3:配置允许第三方机器访问本机Mysql,分别在2个机子上配置user表

3.1远程的的数据库 user表 ,其中host :% 代表所有的ip都可以连接,如果需要指定的ip连接,host:指定的ip
| host | user | password                                  |
+------+------+-------------------------------------------+
| %    | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+------+------+-------------------------------------------+

3.2表结构改成这样后:需要刷新权限

mysql> flush privileges;

3.3 远程的机器连接测试

[root@fei ~]# mysql -u root -p -h 连接的MySQL服务器所在的电脑IP

[root@fei ~]# mysql -u root -p -h 192.168.24.25

4.配置主从机器分别配置

1) vim /etc/my.cnf

添加

[mysqld]
server-id=1  //不同的mysql服务器id要不同,比如我另一台mysql服务器server-id=2
log-bin=mysql-bin
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2)分别重新启动主从二台mysql服务

service mysqld restart

3)查看MySQL有没有变化

mysql> show VARIABLES LIKE 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 1     |
+---------------+-------+
1 row in set (0.00 sec)

4)获取文件名File 192.168.163.130服务器

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |      106 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

文件名为mysql-bin.000002,106代表日志从106行以后开始

5) 配置从服务器(可以实现主服务更新数据,从服务器也更新)


change master to

master_host='192.168.163.130',//mysql主服务器地址

master_user='root',

master_password='root',

master_log_file='mysql-bin.000002',

master_log_pos=106;

执行

在192.168.163.131从服务器执行

mysql>  change master to
    -> master_host='192.168.163.130',
    -> master_user='root',
    -> master_password='root',
    -> master_log_file='mysql-bin.000002',
    -> master_log_pos=106;
Query OK, 0 rows affected (0.04 sec)

开启从服务器:mysql> start slave;

查询从服务器状态:mysql> show slave status \G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.163.130   //主服务器地址
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 106
               Relay_Log_File: mysqld-relay-bin.000002
                Relay_Log_Pos: 251
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes  // 表示去访问主服务器,yes表示通了
            Slave_SQL_Running: Yes //发送一个sql语句给主服务器,yes表示通了
              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: 106
              Relay_Log_Space: 407
              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: 
1 row in set (0.00 sec)

6)主服务器测试,添加表数据,看下从库是是否更新表

添加表数据前:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |

执行:

mysql> create database test1;

mysql> use test1;

mysql> create table user(id int(2),name char(20));

mysql> insert into user(1,'xia');

添加表数据后:

mysql> select * from user;
+------+------+
| id   | name |
+------+------+
|    1 | xia  |
+------+------+
1 row in set (0.00 sec)

7)从服务测试

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| test1              |
+--------------------+
4 rows in set (0.00 sec)

mysql> use test1;

mysql> show tables;
+-----------------+
| Tables_in_test1 |
+-----------------+
| user            |
+-----------------+
1 row in set (0.00 sec)

8)双主结构(刚刚的配置是在从服务器上配置,可以实现主服务更新数据,从服务器也更新,现在反过来,在主服务配置,实现从服务器更新,主服务器也更新)

配置从服务器,


change master to

master_host='192.168.163.131',//mysql主服务器地址

master_user='root',

master_password='root',

master_log_file='mysql-bin.000002',

master_log_pos=106;

执行

在192.168.163.130主服务器执行

mysql> change master to
    -> master_host='192.168.163.131',
    -> master_user='root',
    -> master_password='root',
    -> master_log_file='mysql-bin.000002',
    -> master_log_pos=106;
Query OK, 0 rows affected (0.02 sec)

开启从服务器:mysql> start slave;

查询从服务器状态:mysql> show slave status \G;

Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.163.131
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 106
               Relay_Log_File: mysqld-relay-bin.000002
                Relay_Log_Pos: 251
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

转载于:https://www.cnblogs.com/feiZhou/p/9344519.html

MySQL主从复制-双主结构相关推荐

  1. mysql 主从复制 表结构_MySQL主从复制-双主结构

    1:安装命令 2台机分别安装 yum –y install mysql-server 2:配置登陆用户的密码root /usr/bin/mysqladmin -u root password 'roo ...

  2. mysql 主从复制 双主从复制原理   防止主键重复问题(必看)

    双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做的好处多. 1. 可以做灾备,其中一个坏了可以切换到 ...

  3. MySQL主从复制高级进阶

    一.延时从库 1.介绍 普通的主从复制,处理物理故障比较擅长 如果主库出现了drop database 操作 延时从库:主库做了某项操作之后,从库延时多长时间回放(SQL),可以处理逻辑损坏 SQL线 ...

  4. mysql主从复制原理详解_MySQL主从复制没使用过?三大步骤让你从原理、业务上理解透彻...

    成长是一棵树,总是在你不知不觉的情况下快乐长大:成长是一株草,总是在你不知不觉的情况下长满大地:成长是一朵花,总是在你不知不觉的情况下开满山头. 这不,随着时间的迁移.项目网站的用户量.数据量持续上升 ...

  5. php mysql 主从复制_Windows 环境下,MySQL 的主从复制和主主复制

    Mysql的主从配置 1.找到配置文件 找到配置文件是主从复制的第一个难点.很多新手都容易找错配置文件,一般my.ini配置文件所在的位置都是隐藏的. 一般人都以为配置文件为 C:\Program F ...

  6. mysql主从复制、redis基础、持久化和主从复制

    一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...

  7. mysql 硬负载_为啥单机MySQL又遭遇瓶颈?MySQL主从复制替你解决单机问题

    成长是一棵树,总是在你不知不觉的情况下快乐长大:成长是一株草,总是在你不知不觉的情况下长满大地:成长是一朵花,总是在你不知不觉的情况下开满山头. 这不,随着时间的迁移.项目网站的用户量.数据量持续上升 ...

  8. MySQL主从复制原理、半同步操作步骤及原理

    MySQL主从复制原理.半同步操作步骤及原理 1.1 企业Linux运维场景数据同步方案 1.1.1 文件级别的异机同步方案 1.scp/sftp/nc 命令可以实现远程数据同步. 2.搭建ftp/h ...

  9. Mysql主从复制(docker例子)

    一.Binlog Binlog 日志主要作用是数据恢复和主从复制.本身就是二进制格式的日志文件,网络传输无需进行协议转换.MySQL 集群的高可用,负载均衡,读写分离等功能都是基于Binlog 来实现 ...

最新文章

  1. 装oracle非常卡吗,win7系统安装完oracle电脑变卡的解决方法
  2. python聊天程序
  3. python与正则表达式(part7)--re模块使用
  4. abap 中modify 的使用
  5. 报错型sql注入原理分析
  6. JA-SIG(CAS)学习笔记1
  7. 1.4 Arithmetic Progressions
  8. Navicat连接MySQL8.0版本时出现Client does not support authentication protocol requested by server;报错的问题解决办法
  9. 使用Java 自身Timer API实现定时器的方法
  10. 东南亚跨境电商shopee平台,教你轻松打造高销量品牌店铺!
  11. Java 开发实例(第3篇),绘制迷宫1 生成迷宫地图
  12. 2022 最新Robots.txt文件教程
  13. cjavapy在线正则表达式测试工具
  14. QQ空间无敌装逼,复制下面的任一代码粘贴即可出现意想不到的图案。
  15. 【RAM IP】RAM IP核简介及实验
  16. rtmp流放与flv格式视频问题解决
  17. 量子计算机九章感想,量子计算机九章这么火,本文让你明白什么是量子
  18. win11打不开 浏览器
  19. Alexa Fluor 488标记亲和纯化驴抗兔IgG(H+L)二抗说明书
  20. 以“人民为中心”重新定义全球新型智慧城市, 2021-2022年中国新型智慧城市百强榜权威发布!

热门文章

  1. Cesium界面学习以及隐藏界面控件
  2. C#获取和设置环境变量
  3. 数组的解构赋值(未完成)
  4. 前序中序确认二叉树 7-23 还原二叉树(25 分)
  5. bzoj1072: [SCOI2007]排列perm
  6. 【学习/研发】嵌入式Linux/Android开发有它就够了——迅为4412开发板
  7. EasyUI Combogrid Bug
  8. 图像二值形态学——腐蚀和膨胀的C语言实现
  9. C#中保存Gif文件设置透明无效果
  10. asp.net 1.1/ 2.0 中快速实现单点登陆