CentOS6.7 mysql 主从配置

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

 

Mysql主服务器:

系统:CentOS 6.7(192.168.171.51)

主机名:balichvm.org

MySQL版本:5.6.26

 

 

Mysql主服务器:

系统:CentOS 6.7(192.168.171.50)

主机名:balichos.org

MySQL版本:5.6.26

 

 

配置主从前的准备:

1)、关闭selinux

vim /etc/sysconfig/selinux

 

#SELINUX=enforcing     #注释掉

#SELINUXTYPE=targeted  #注释掉

SELINUX=disabled  #增加

 

保存配置文件  :wq,然后重启系统,或者临时关闭:setenforce 0

 

2)、配置iptables,开启mysql默认的3306端口

vim /etc/sysconfig/iptables

 

-A INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT

 

然后重启服务,使之生效。 /etc/init.d/iptables restart

 

 

配置主从步骤:

1)分别把需要同步的数据库导入到主数据库(balichvm.org)和从数据库(balichos.org,因为做主从需要主从数据库的实例相同。这里是mbbalichdb

 

主数据库:

mysql -u root –p           #进入数据库的控制台

CREATE DATABASE mbalichdb;            #创建mbalichdb数据库

use mbalichdb;                 #进入数据库

source /root/mbalich.sql                   #还原数据库(导入备份文件到数据库)

 

 

从数据库:

mysql -u root –p             #进入数据库的控制台

CREATE DATABASE mbalichdb;       #创建mbalichdb数据库

use mbalichdb;         #进入数据库

source /root/mbalich.sql               #还原数据库(导入备份文件到数据库)

2)分别在主数据库和从数据库上修改配置文件

 

主数据库:

vim /usr/local/mysql/my.cnf

 

server_id=1     #需要唯一,要小于从数据库;如果有就不需要添加了

log-bin=mysql-bin                       #开启mysql二进制日志系统

binlog-do-db=mbalichdb                    #需要同步的数据库

binlog-ignore-db=mysql                     #不需要同步的数据库

 

保存配置文件,退出。然后重启mysql服务

/etc/init.d/mysqld restart

 

重新登录到Mysql控制台,为从数据库建立一个主从复制的帐号。

 

grant replication slave on *.* to'repl'@'192.168.171.50' identified by 'replbak.';

 

同时执行如下操作:

mysql> flush tables with read lock;               #锁住表,只可以读

Query OK, 0 rows affected (0.61 sec)

 

mysql> show master status;            #查看当前的状态,前两列需要用到

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB |Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      331 | mbalichdb    | mysql           |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.06 sec)

 

 

 

从数据库:

vim /usr/local/mysql/my.cnf

 

server-id=2                             #需要唯一,

log-bin=mysql-bin                    #开启mysql二进制日志系统

replicate-do-db=mbalichdb               #需要同步的数据库

replicate-ignore-db=mysql                #不需要同步的数据库

 

 

保存配置文件,退出。然后重启mysql服务

/etc/init.d/mysqld restart

 

 

3)在从服务器上配置主从同步

 

重启mysql服务后,再次进入mysql控制台,执行mysql主从同步。

mysql -u root –p       #进入mysql控制台

 

stop slave;                 #停止主从同步

mysql> change master to

master_host='192.168.171.51',

master_user='repl',

master_password='replbak.',

master_port=3306,

master_log_file='mysql-bin.000001',

master_log_pos=331;

 

 

上面的一条语句是主从同步的。

 

start slave;                #开启主从同步。

 

mysql> show slave status\G;           #查看主从是否同步

*************************** 1. row***************************

               Slave_IO_State: Connecting tomaster

                  Master_Host: 192.168.171.51

                  Master_User: repl

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000001

         Read_Master_Log_Pos: 331

               Relay_Log_File:balichOS-relay-bin.000001

                Relay_Log_Pos: 4

       Relay_Master_Log_File: mysql-bin.000001

            Slave_IO_Running: Yes

           Slave_SQL_Running: Yes

              Replicate_Do_DB: mbalichdb

         Replicate_Ignore_DB: mysql

          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: 331

              Relay_Log_Space: 120

              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: NULL

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 1045

                Last_IO_Error: error connectingto master 'repl@192.168.171.51:3306' - retry-time: 60  retries: 2

               Last_SQL_Errno: 0

               Last_SQL_Error:

 Replicate_Ignore_Server_Ids:

            Master_Server_Id: 0

                  Master_UUID:

            Master_Info_File: /data/mysql/master.info

                    SQL_Delay: 0

         SQL_Remaining_Delay: NULL

     Slave_SQL_Running_State: Slave has read all relay log; waiting for theslave I/O thread to update it

          Master_Retry_Count: 86400

                  Master_Bind:

     Last_IO_Error_Timestamp: 151110 04:51:06

    Last_SQL_Error_Timestamp:

               Master_SSL_Crl:

           Master_SSL_Crlpath:

          Retrieved_Gtid_Set:

           Executed_Gtid_Set:

                Auto_Position: 0

1 row in set (0.00 sec)

 

 

注意查看:Slave_IO_Running: YesSlave_SQL_Running: Yes

 

两个都是yes

 

 

 

4)测试主从同步

主数据库:

unlock tables;           #表解锁

 

mysql> use mbalichdb ;                      #切换数据库

Database changed

mysql> show tables;                           #查看当前数据库的表

+-----------------------+

| Tables_in_mbalichdb   |

+-----------------------+

| wp_commentmeta        |

| wp_comments           |

| wp_links              |

| wp_options            |

| wp_postmeta           |

| wp_posts              |

| wp_term_relationships |

| wp_term_taxonomy      |

| wp_terms              |

| wp_usermeta           |

| wp_users              |

+-----------------------+

11 rows in set (0.03 sec)

 

mysql>

 

mysql> create table wp_33(id int notnull primary key, name char(20));      #创建一张表。

 

 

从数据库:

mysql -u root –p                #登录到控制台

 

mysql> use mbalichdb;             #进入mbalichdb数据库

 

mysql> show tables;

+-----------------------+

| Tables_in_mbalichdb   |

+-----------------------+

| wp_33                 |

| wp_commentmeta        |

| wp_comments           |

| wp_links              |

| wp_options            |

| wp_postmeta           |

| wp_posts              |

| wp_term_relationships |

| wp_term_taxonomy      |

| wp_terms              |

| wp_usermeta           |

| wp_users              |

+-----------------------+

12 rows in set (0.00 sec)

 

在从数据库上有我们刚刚创建的wp_33表,说明可以同步了。


本文转自 巴利奇 51CTO博客,原文链接:http://blog.51cto.com/balich/1711627


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
344
分享
相关文章
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
33 10
seatunnel配置mysql2hive
本文介绍了SeaTunnel的安装与使用教程,涵盖从安装、配置到数据同步的全过程。主要内容包括: 1. **SeaTunnel安装**:详细描述了下载、解压及配置连接器等步骤。 2. **模拟数据到Hive (fake2hive)**:通过编辑测试脚本,将模拟数据写入Hive表。 3. **MySQL到控制台 (mysql2console)**:创建配置文件并执行命令,将MySQL数据输出到控制台。 4. **MySQL到Hive (mysql2hive)**:创建Hive表,配置并启动同步任务,支持单表和多表同步。
144 15
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
367 16
|
3月前
|
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
90 8
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
289 3
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
319 2
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
460 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等