主节点部署

  • 安装数据库

    • 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. 每日CSS_霓虹灯按钮悬停效果

    每日CSS_霓虹灯按钮悬停效果 2020_12_20 1. 代码解析 1.1 html 代码片段解析 <a href="#"> <span></spa ...

  2. #2020征文-手机#深鸿会深大小组:HarmonyOS手机游戏—数字华容道

    目录: 前言 概述 正文 创建项目 实现初始界面布局 实现数字的随机打乱 实现滑动或点击调换数字 实现游戏成功界面 结语 源码包 前言 12月16号HarmonyOS2.0手机开发者Beta版已经发布 ...

  3. Redis集群的分布式部署

    3.2.2:Redis Cluster: Redis  分布式部署方案: 1)  客户端分区:由客户端程序决定 key 写分配和写入的 redis node,但是需要客户端自己处理写入 分配.高可用管 ...

  4. 会Python了不起吗?是的,简直开挂

    前段时间听说了一件事,彻底刷新了我对"黑科技"的认知. 有一个小学弟,大学4年混得风生水起,恋爱.赚钱.写论文.找工作,样样都很顺利,简直是妥妥的人生赢家. 问他凭什么?张口就是: ...

  5. jquery 局部刷新load 某个div或者某个表格

    在使用 ajax 进行删除用户操作的时候,可以在 success 里写一个 window.location.reload(); 让页面刷新. 但是,我不想那样,我只想局部刷新 比如,我删除几个用户后, ...

  6. 深度学习论文翻译解析(十六):Squeeze-and-Excitation Networks

    论文标题:Squeeze-and-Excitation Networks 论文作者:Jie Hu  Li Shen Gang Sun 论文地址:https://openaccess.thecvf.co ...

  7. Java JVM——8.堆

    堆的核心概念 堆针对一个 JVM 进程来说是唯一的,也就是一个进程只有一个JVM,但是进程包含多个线程,他们是共享同一堆空间的. 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域. J ...

  8. 入门oj 5499: 讲话模式

    Description 每个人说话都有口头禅,现给出一个字符串,请求出其中出现次数最多的单词(不区分大小写). Input 输入一行,长度小于等于1048576的字符串输入至少包含一个字母或数字 Ou ...

  9. Debian10_Centos8_fail2ban

    Debian10_Centos8_fail2ban 转载注明来源: 本文链接 来自osnosn的博客,写于 2020-11-7. Debian-10 的 fail2ban 支持 ipv6.防火墙内核是 ...

  10. 使用Pr压缩视频,增大音量

    视屏压缩(亲测有效教程):https://www.zhihu.com/question/67762625 音量增大(亲测有效教程):https://jingyan.baidu.com/article/ ...