主节点部署

  • 安装数据库

    • Ubuntu
    apt-get install mysql-server -y
    systemctl start mysql
    systemctl enabled mysql
    • CentOS

    参考CentOS 7.4通过rpm包离线安装 Mysql8.0

  • 配置数据库

    • 修改 mysql 配置文件

      vim /etc/mysql/mysql.cnf
      
      [client]
      default-character-set=utf8mb4 [mysql]
      default-character-set=utf8mb4 [mysqld]
      server-id = 1
      log_bin = /var/log/mysql/mysql-bin.log
      character-set-server=utf8mb4
      expire_logs_days=14
    • 创建数据同步用户并授权

      grant replication slave on *.* to repluser@'slave-ip' identified by 'replpass';
    • 重启数据库

      systemctl restart mysql
    • 登录数据库确认

      mysql> show variables like '%character%';
      +--------------------------+----------------------------+
      | Variable_name | Value |
      +--------------------------+----------------------------+
      | character_set_client | utf8mb4 |
      | character_set_connection | utf8mb4 |
      | character_set_database | utf8mb4 |
      | character_set_filesystem | binary |
      | character_set_results | utf8mb4 |
      | character_set_server | utf8mb4 |
      | character_set_system | utf8 |
      | character_sets_dir | /usr/share/mysql/charsets/ |
      +--------------------------+----------------------------+
      mysql> show master status;
      +-----------------+----------+-------------+-----------------+------------------+
      | File | Position |Binlog_Do_DB |Binlog_Ignore_DB |Executed_Gtid_Set |
      +-----------------+----------+-------------+-----------------+------------------+
      | mysql-bin.000001| 154 | | | |
      +-----------------+----------+-------------+-----------------+------------------+

从节点部署

  • 安装数据库

    • Ubuntu
    apt-get install mysql-server -y
    systemctl start mysql
    systemctl enabled mysql
    • CentOS

    参考CentOS 7.4通过rpm包离线安装 Mysql8.0

  • 配置数据库

    • 修改 mysql 配置文件

      vim /etc/mysql/mysql.cnf
      
      [client]
      default-character-set=utf8mb4 [mysql]
      default-character-set=utf8mb4 [mysqld]
      server-id = 2
      character-set-server=utf8mb4
      expire_logs_days=14
    • 重启数据库

      systemctl restart mysql
    • 登录数据库配置主从连接

      mysql> change master to master_host='master-ip',master_port=3306,master_user='repluser',master_password='replpass',master_log_file='mysql-bin.000001',master_log_pos=154;
    • 启动同步,确定状态

      mysql> start slave;
      mysql> show slave status\G; ...
      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
      ...
  • 创建数据库

    • 在主节点创建数据库及对应用户

      • 创建 region 及 console库

        mysql> create database region;
        mysql> create database console;
        mysql> grant all privileges on *.* to rainbond@"*" identified by 'Rainbond';
    • 在从节点确认数据已经同步

      • 检测数据库是否已经同步

        mysql> show databases;
        +--------------------+
        | Database |
        +--------------------+
        | information_schema |
        | console |
        | mysql |
        | performance_schema |
        | region |
        | sys |
        +--------------------+
      • 检测用户是否已经同步

        mysql> select Host,User from user;
        +-----------+------------------+
        | Host | User |
        +-----------+------------------+
        | % | rainbond |
        | localhost | debian-sys-maint |
        | localhost | mysql.session |
        | localhost | mysql.sys |
        | localhost | root |
        +-----------+------------------+
  • 从节点配置备份计划

    • 安装并配置计划任务

      apt-get install cron
      crontab -e
      0 3 * * * /var/lib/mysql-backup/mysql-backup.sh
    • 备份脚本内容

      $  vim /var/lib/mysql-backup/mysql-backup.sh
      #!/bin/bash
      DATE=`date +%Y%m%d%H%M` #every minute
      DB_USER=root #database username
      DB_PASS="mysqlpass" #database password
      BACKUP=/var/lib/mysql-backup #backup path #backup command /usr/bin/mysqldump -u$DB_USER -p$DB_PASS -h 127.0.0.1 |gzip > ${BACKUP}\/rainbond_${DATE}.sql.gz #just backup the latest 30 days find ${BACKUP} -name "rainbond_*.sql.gz" -type f -mtime +30 -exec rm {} \; > /dev/null 2>&1
    • 赋予执行权限

     chmod +x /var/lib/mysql-backup/mysql-backup.sh
    ```

Linux安装MYSQL并部署主从复制集群的更多相关文章

  1. 2、二进制安装K8s 之 部署ETCD集群

    二进制安装K8s 之 部署ETCD集群 一.下载安装cfssl,用于k8s证书签名 二进制包地址:https://pkg.cfssl.org/ 所需软件包: cfssl 1.6.0 cfssljson ...

  2. Linux安装ElasticSearch与MongoDB分布式集群环境下数据同步

    ElasticSearch有一个叫做river的插件式模块,可以将外部数据源中的数据导入elasticsearch并在上面建立索引.River在集群上是单例模式的,它被自动分配到一个节点上,当这个节点 ...

  3. 4. 利用MySQL Shell安装部署MGR集群 | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装准备 2. 利用MySQL Shell构建MGR集群 3. MySQL Shell接管现存的MGR集群 4 ...

  4. MySQL主从复制原理及配置详细过程以及主从复制集群自动化部署的实现

    一.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重 ...

  5. Linux上安装mysql,实现主从复制

    MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的 ...

  6. 阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 本地模式需要采用MySQL数据库存储数据. 1 环境介绍 一台阿里云ECS服务器:master ...

  7. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...

  8. Centos8 部署 ElasticSearch 集群并搭建 ELK,基于Logstash同步MySQL数据到ElasticSearch

    Centos8安装Docker 1.更新一下yum [root@VM-24-9-centos ~]# yum -y update 2.安装containerd.io # centos8默认使用podm ...

  9. MySQL MHA 高可用集群部署及故障切换

    MySQL MHA 高可用集群部署及故障切换 1.概念 2.搭建MySQL + MHA 1.概念: a)MHA概念 : MHA(MasterHigh Availability)是一套优秀的MySQL高 ...

随机推荐

  1. Spring笔记(9) - IOC实现方式详解

    IOC概念 控制反转(Inversion of Control,IOC),是面向对象编程中的一种设计原则,它建议将不需要的职责移出类,让类专注于核心职责,从而提供松散耦合,提高优化软件程序设计.它把传 ...

  2. 【漏洞复现】Struts2-045分析(CVE-2017-5638)

    如果需要大佬写好的脚本,可以直接去github上面搜 struts2 - 045 一个还比较出名的漏洞,因为涉及到利用Gopher协议反弹shell,所以写篇文章来简单学习下这个漏洞. Struts2 ...

  3. Excel 单元格快速填充技巧

    1.普通的复制填充空白单元格 直接左键选中单元格右下边框向下拉,选择填充格式(复制填充) 2.普通的顺序填充空白单元格 直接左键选中单元格右下边框向下拉,选择填充格式(序列填充) 3.其他方式填充空白 ...

  4. Prometheus从入门到精通:一、部署

    一.Prometheus是什么? prometheus是一个开源指标监控解决方案,指标就是指的CPU的使用率.内存使用率等数据. 二.Prometheus的架构 这里直接粘贴官网的架构图: 三.安装 ...

  5. C#中的依赖注入和IoC容器

    在本文中,我们将通过用C#重构一个非常简单的代码示例来解释依赖注入和IoC容器. 简介: 依赖注入和IoC乍一看可能相当复杂,但它们非常容易学习和理解. 在本文中,我们将通过在C#中重构一个非常简单的 ...

  6. 第一个开源控件:Google 官方下拉刷新控件 SwipeRefreshLayout 强化版,支持上拉刷新

    最近比较闲,所以趁着这时间撸了个SwipeRefreshLayout的加强版,Github地址. 原版只支持下拉刷新,强化之后支持上拉刷新和一进入页面就加载刷新,整个控件的加载动画是一致的,毫无违和感 ...

  7. hive中笛卡尔积的优化

    由于一个业务,必须要进行笛卡尔积,但是速度太慢了,left join时左表大概4万条数据,右表大概 3000多条数据,这样大概就是一亿多条数据, 这在大数据领域其实不算很大的数据量,但是hive中跑的 ...

  8. 前端JS获取用户位置

    精确至城市 (基于腾讯位置服务的IP定位,需申请KEY)

  9. MQ关于实现最终一致性分布式事务原理解析

    本文讲述阿里云官方文档中关于通过MQ实现分布式事务最终一致性原理 概念介绍 事务消息:消息队列 MQ 提供类似 X/Open XA 的分布式事务功能,通过消息队列 MQ 事务消息能达到分布式事务的最终 ...

  10. 入门oj 6451: The XOR Largest Pair之二

    Description 今天小W用了1s不到的时候完成了这样一个题:在给定的N个整数 A_1,A_2,-,A_N中选出两个进行异或运算,得到的结果最大是多少?正当他志得意满时,L老师亮出了另一个题:给 ...