mysql搭建手册

mysql搭建手册

主从搭建

  1. 搭建mysql

  2. 关闭防火墙:systemctl stop firewalld 如果失败先安装 yum install iptables-services

  3. 配置数据库 /etc/my.cnf,配置同步数据库等

    • 主库配置信息

      [mysqld]
      datadir=/usr/local/mysql/data
      log-error=/usr/local/mysql/data/error.log
      port = 3306
      sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
      symbolic-links=0
      max_connections=400
      innodb_file_per_table=1
      #表名大小写不明感,敏感为
      lower_case_table_names=1
      #主从配置
      #服务的唯一编号
      server-id=1
      #每次执行写入操作binlog和磁盘同步
      sync-binlog=1
      # 开启mysql binlog功能
      log-bin = mysql-bin
      # binlog记录内容的方式,记录被操作的每一行
      binlog_format = ROW
      # 减少记录日志的内容,只记录受影响的列
      binlog_row_image = minimal
      # 指定需要同步复制的数据库名,不指定其它库都会同步操作
      binlog-do-db = lagou
      #忽略的库
      binlog_ignore-db=performance_schema
      binlog_ignore-db=information_schema
      binlog_ignore-db=sys
    • 从库配置:

      [mysqld]
      datadir=/usr/local/mysql/data
      log-error=/usr/local/mysql/data/error.log
      port = 3306
      sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
      symbolic-links=0
      max_connections=400
      innodb_file_per_table=1
      #表名大小写不明感,敏感为
      lower_case_table_names=1
      #主从配置
      #服务的唯一编号
      server-id=2
      #每次执行写入操作binlog和磁盘同步
      sync-binlog=1
      # 开启mysql binlog功能
      log-bin = mysql-bin
      # binlog记录内容的方式,记录被操作的每一行
      binlog_format = ROW
      # 减少记录日志的内容,只记录受影响的列
      binlog_row_image = minimal
      # 指定需要同步复制的数据库名,不指定其它库都会同步操作
      binlog-do-db = lagou
      #忽略的库
      binlog_ignore-db=performance_schema
      binlog_ignore-db=information_schema
      binlog_ignore-db=sys
      #修改从库relay log名字
      relay_log=mysql-relay-bin
      #修改只读
      read_only=1
      
  4. 服务重启 systemctl restart mysqld

  5. 开放远程连接权限,进入mysql命令行:

    • grant replication slave on . to ‘root’@’%’ identified by ‘root’;
    • grant all privileges on . to ‘root’@’%’ identified by ‘root’; flush privileges;
    • show master status;
  6. 修改从库配置信息:

    • 指定唯一服务id:server-id

    • 修改从库relay log名字:relay_log=mysql-relay-bin

    • 修改只读:read_only=1

      注意:普通的应用用户进行insert、update、delete等会产生数据变化的DML操作时,都会报出数据库处于只读模式不能发生数据变化的错误,但具有super权限的用户,例如在本地或远程通过root用户登录到数据库,还是可以进行数据变化的DML操作;

  7. 配置master连接,进入mysql命令行:

    • change master to master_host=‘39.96.204.209’, master_port=3306,master_user=‘root’,master_password=‘root’,master_log_file=‘mysql-bin.000001’,master_log_pos=154;

      注意master_log_pos配置信息可以在master的mysql中查看在这里插入图片描述

    • 开启从库:start slave;

    • 查看转态:show slave status \G;

  8. 创建数据库表:

    • CREATE TABLE position_detail (
      id int(11) NOT NULL AUTO_INCREMENT,
      pid int(11) DEFAULT NULL,
      description text,
      PRIMARY KEY (id)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    • CREATE TABLE position (
      id int(8) NOT NULL AUTO_INCREMENT,
      name varchar(255) DEFAULT NULL,
      salary varchar(10) DEFAULT NULL,
      city varchar(255) DEFAULT NULL,
      PRIMARY KEY (id)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  9. 查看创建的数据表是否同步到从库中,至此主从搭建完成

主从搭建-半同步复制方式

  1. 安装插件,进入mysql命令行,记得主从都需要安装插件:

    • 查看是否支持动态加载:select @@have_dynamic_loading;

    • 查看插件:show plugins;

    • 安装插件:install plugin rpl_semi_sync_master soname ‘semisync_master.so’;

    • 查看半同步复制参数信息:show variables like ‘%semi%’;

    • 开启半同步OFF->NO,以及设置temeout:

      • set global rpl_semi_sync_master_enabled=1;
      • set global rpl_semi_sync_master_timeout=1000;
      • show variables like ‘%semi%’;
      • 在这里插入图片描述
    • 命令行重启从库重启:

      • stop slave;
      • start slave;
    • 在主库添加写,从库查看是否正常,如果发现从库没有同步

      • show slave status \G;

        )

        由于主键冲突导致日志同步失败,删除冲突数据即可。
        从库冲突错误:https://www.cnblogs.com/langdashu/p/5920436.html

MHA高可用架构搭建

  1. ​ 使用三台机器来完成本次MHA的搭建:

    	IP			主机名		系统版本		角色					 	节点
    172.25.5.1		weijie1 	Centos		master node				node1
    172.25.5.2      weijie2 	Centos		slave1 node				node2
    172.25.5.3      weijie3		Centos		slave2 node+manager		node3
  2. MHA下载:

    wget https://github.com/yoshinorim/mha4mysql-manager/releases/download/v0.58/mha4mysql-manager-0.58.tar.gz
    wget https://github.com/yoshinorim/mha4mysql-node/releases/download/v0.58/mha4mysql-node-0.58.tar.gz
  3. 配置集群免密登录:所有节点都要操作

    cd /root/.ssh/
    ssh-keygen -t dsa -P '' -f id_dsa
    cat id_dsa.pub >> authorized_keys
    
  4. 主库接收slave上的密钥

    scp 172.25.5.3:/root/.ssh/authorized_keys ./authorized_keys.3
    scp 172.25.5.4:/root/.ssh/authorized_keys ./authorized_keys.4
    

MHA没有搭建成功,日后补充吧!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDb安装配置

Mongodb学习 Mongodb安装 1.下载社区版 MongoDB 4.1.3 去官网下载对应的MongoDB 然后上传到Linux虚拟机 2.将压缩包解压即可 tar -zxvf MongoDB-linux-x86_64-4.1.3.tgz3.启动 mkdir -p /data/db./bin/mongod4.指定配置文件方式的启动 配置文件样例: dbpath/data/mongo…

FastDFS学习笔记

FastDFS课程内容 第一部分:FastDFS基础回顾 为什么要有分布式文件系统、分布式文件系统对比、FastDFS特性、linux安装、java访问FastDFS 第二部分:FastDFS系统架构和功能原理 架构详解、架构设计的概念、设计理念、功能原理(上传、下载、文件同步、删…

redis主从搭建和分片集群搭建

文章目录redis主从搭建搭建一主一从:下载安装redis:两台机器都需要操作权限认证理解主从复制原理、同步数据集全量同步三个阶段:增量同步:心跳检测redis哨兵模式部署方案搭建配置哨兵模式原理建立连接获取主服务器信息获取从服务器…

如何利用redis实现秒杀系统

文章目录题记利用Watch实现Redis乐观锁题记 在线思维导图总结:redis大纲 利用Watch实现Redis乐观锁 乐观锁基于CAS(Compare And Swap)思想(比较并替换),是不具有互斥性,不会产生锁等待而消 耗…

教你如何使用redis分布式锁

文章目录一、redis客户端实现应用1.利用set nx命令实现分布式锁2.利用分布式锁命令 setnx问题1.为什么不直接调用jedis.del(key)方法而采用redislua实现?2.上述两种方式存在的问题?3.根本原因分析二、分布式场景Redission分布式锁的使用1.分布式锁的特性…

本地缓存之Guava简单使用

文章目录使用场景Guava Cache 的优势Guava Cache使用CacheLoaderCallable删除主动删除过期删除基于容量删除引用删除高级用法并发设置更新锁定GuavaCache高级实战之疑难问题GuavaCache会oom(内存溢出)吗GuavaCache缓存到期就会立即清除吗GuavaCache如何找…

java中强引用、弱引用、软引用、虚引用学习

文章目录强引用弱引用软引用虚引用将引用之前首先让我们一起回顾一下java对象的生命周期强引用 在实际开发场景中,我们一般使用的都是强引用,只要强引用存在,垃圾回收即使OOM也不会回收,知道强引用释放以后,对象才会被…

mysql left join、right join、inner join、union、union all使用以及图解

左外连接:left join sql语法:LEFT JOIN LEFT OUTER JOIN 首先需要创建两张表做测试,表数据如下所示 table 1 表: table2 表: 查询sql: select * from table1 a LEFT JOIN table2 b on a.idb.id 总结&a…

第十八章 Swing程序设计

Swing用于开发桌面窗体程序,是JDK的第二代GUI框架,其功能比JDK第一代GUI框架AWT更为强大、性能更加优良。但因为Swing技术推出时间太早,其性能、开发效率等不及一些其他流行技术,所以目前市场上大多数桌面窗体程序都不是由Java开发…

redis stream学习总结

文章目录streamStream基本概念消息id消息内容增删查改消息生产添加消息 xadd查看消息长度 xlen限制stream最大长度1.xadd 中添加**maxlen**:2.xtrim查询消息 xrange正向排序:消费id从小到大排反向查询:消费id从大到小排删除消息消息消费独立消费 xread消…

常用的限流算法学习

常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应…

基于rocketMq秒杀系统demo

基于RocketMQ设计秒杀。 要求: 1. 秒杀商品LagouPhone,数量100个。 2. 秒杀商品不能超卖。 3. 抢购链接隐藏 4. NginxRedisRocketMQTomcatMySQL 实现 接口说明:https://www.liuchengtu.com/swdt/#R9f978d0d00ef9be99f0…

基于Curator实现dubbo服务自动注册发现

文章目录概念基于ServiceDiscovery实现服务自动注册和发现Service:服务基本信息InstanceDetails:封装实例用过来保存到zk中ServiceProvider:服务提供者ServiceConsumer:服务消费者运行基于ServiceDiscovery、ServiceCache实现服务自动注册和发现Registry…

jdk、cglib动态代理代码示例

文章目录jdk动态代理实现步骤代码示例新建一个接口新建一个接口的实现类新建一个代理类调用测试cglib动态代理实现实现步骤创建一个实现类新建一个代理类调用测试jdk动态代理 实现步骤 新建一个接口新建一个接口的实现类新建一个代理类,实现InvocationHandler接口…

Netty 客户端服务器端通信 demo

服务端 package com.demo.rpc.netty;import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.channel.socket.nio.NioSocketC…

Solr实战篇

1.在MySQL数据中建立lagou_db数据库, 将position.sql中的数据导入到mysql 数据中。 2.使用Solr的DIH 将mysql中的数据导入到Solr中。 3.使用SpringBoot 访问Solr 使用positionName 字段检索职位信息 如果检索到的职位信息不够5条 则需要 启用positionAdvantage 查找 美女多、…

Docker 部署java服务

作业描述: (1)Hot是应用程序(springboot),打成jar包:docker-demo-1.0-SNAPSHOT.jar (2)利用dockerfile将docker-demo-1.0-SNAPSHOT.jar构建成镜像docker-demo Dockerfile-docker-demo&#xf…

单向链表 双向链表 java代码实现

文章目录单向链表代码实现单元测试控制台打印头插法尾插法双向链表代码实现单元测试控制台打印头插法尾插法单向链表 代码实现 package csdn.dreamzuora.list;/*** author: weijie* Date: 2020/10/15 15:28* Description:*/ public class SingleNode {int id;String name…

栈、队列 java代码实现

文章目录普通队列数组实现java代码实现单元测试控制台打印链表实现java代码实现单元测试控制台打印LinkedList队列使用优先队列:PriorityQueue使用栈数组实现java代码实现单元测试控制台打印链表实现java代码实现单元测试控制台打印普通队列 概念:先入先…

ElasticSearch入门篇

文章目录控制台RESTFULL操作REST风格说明基于REST命令说明:es支持的数据类型核心数据类型ik分词器使用ik_smart最少切分ik_max_word最细粒度索引操作索引库创建创建文档方式指定索引类型(以后这种方式会被弃用)不指定索引类型利用默认的_doc类型更新文档方式一&…