CentOS服务器Mysql主从复制集群的搭建

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:         在配置Mysql数据库主从复制集群的时候要保证:              1.主从服务器操作系统版本和位数一致。              2.Mysql版本一致。

        在配置Mysql数据库主从复制集群的时候要保证:

             1.主从服务器操作系统版本和位数一致。

             2.Mysql版本一致。

         为了保证稳定性,最好服务器操作系统和Mysql数据库环境一致。


        CentOS服务器上Mysql的安装方法可以参见博客:

        http://blog.csdn.net/jhq0113/article/details/43812895

        

         服务器配置:

         Master:192.168.1.18

         Slave:192.168.1.16


         Master(192.168.1.18)服务器:

         1.编辑/etc/my.cnf

         [root@jhq0229 ~]# vim /etc/my.cnf
        

        2.配置

       

[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql

#主从复制配置
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#需要备份的数据库
binlog-do-db=orders
#不需要备份的数据库
binlog-ignore-db=mysql

#启动二进制文件
log-bin=mysql-bin

#服务器ID
server-id=1

# 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


        若没有配置binlog-do-db和binlog_ignore_db,表示备份全部数据库。

        3.重启Mysqld服务

        [root@jhq0229 ~]# service mysqld restart

 

        4.为从Mysql创建用户

         登录

        [root@jhq0229 ~]# mysql -uroot -p
        Enter password:


        创建用户

        mysql> create user 'mastj'@'192.168.1.16' identified by '123456';

       

        配置主从复制权限

        mysql> grant replication slave on *.* to 'mastj'@'192.168.1.16' identified by '123456';


        若orders数据库中已经有数据,还需要:

        锁定数据库

        mysql> flush tables with read lock;

        将数据导入到从数据库,方法有多种,我是用Navicat复制的,复制完成后:

         查看master状态并解锁:

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |     2005 | orders       | mysql            |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

mysql> unlock tables;

   

         Slave(192.168.1.16)服务器:

         1.配置服务ID

         [root@jhq0113 ~]# vim /etc/my.cnf
        

         在[mysqld]下面加入

         server-id=2

        

         重启Mysql服务

         [root@jhq0113 ~]# service mysqld restart


       2.配置复制

        登录mysql

       [root@jhq0113 ~]# mysql -uroot -p

      

       执行

      mysql> change master to master_host='192.168.1.18',

                master_user='mastj',

                master_password='123456',

                master_port=3306,

                master_log_file='mysql-bin.000003',

                master_log_pos=2005,

                master_connect_retry=10;


       参数详解:

      master_host:主服务器的IP。
      master_user:配置主服务器时建立的用户名
      master_password:用户密码
      master_port:主服务器mysql端口,如果未曾修改,默认即可。

      master_log_file:日志文件名称,填写查看master状态时显示的File

      master_log_pos:日志位置,填写查看master状态时显示的Position

      master_connect_retry:重连次数

      启动进程

      mysql> start slave;


      检查主从复制状态

     

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.18
                  Master_User: mastj
                  Master_Port: 3306
                Connect_Retry: 10
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 2369
               Relay_Log_File: jhq0113-relay-bin.000002
                Relay_Log_Pos: 647
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
        若Slave_IO_Running和Slave_SQL_Running均为Yes,则表示连接正常。


       此时就可以测试主从复制了。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
SQL 存储 关系型数据库
MySQL的主从复制&主从同步
MySQL的主从复制&主从同步
30 0
|
2月前
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
43 1
|
16天前
|
负载均衡 容灾 关系型数据库
mysql主从复制
mysql主从复制
31 1
|
1月前
|
SQL 存储 运维
MySQL高可用性:主从复制和集群
MySQL高可用性:主从复制和集群
36 0
|
1天前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
15天前
|
Linux
centos 查看服务器信息 版本cpu
centos 查看服务器信息 版本cpu
12 0
|
15天前
|
SQL 关系型数据库 MySQL
mysql主从复制
mysql主从复制
|
15天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
16 0
|
1月前
|
Java 关系型数据库 MySQL
Flink1.18.1和CDC2.4.1 本地没问题 提交任务到服务器 报错java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.mysql.MySqlConnectorConfig
【2月更文挑战第33天】Flink1.18.1和CDC2.4.1 本地没问题 提交任务到服务器 报错java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.mysql.MySqlConnectorConfig
50 2
|
1月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2
服务器Centos7 静默安装Oracle Database 12.2
85 0