1.MySQL高可用
        主从复制      一主多备      多主多备
      
    2.MySQL主从复制
        主机所有写的数据都会生成二进制SQL日志执行文件,从机只需要将SQL日志执行文件获取到,然后进行数据同步即可
        
        2.1 MySQL环境搭建
            2.1.1 连接到虚拟机,在/usr/local下新建一个文件夹为mysql,将tar包上传到次目录当中
            2.1.2 切换到/usr/local/mysql目录,进行拆包
                tar -xvf MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar
            2.1.3 安装mysql客户端
                rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm 如果报错依赖检测失败
                rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm  --nodeps
            2.1.4 安装服务端
                rpm -ivh MySQL-server-5.5.44-1.linux2.6.x86_64.rpm --nodeps
                安装服务端,如果当前虚拟机有mysql报错,出现版本冲突     yum remove mysql-libs
            2.1.5 检测是否安装客户端和服务器
                rpm -qa|grep -i mysql
                
            2.1.6 启动mysql服务
                service mysql start               停止:service mysql stop          重启:service mysql restart
            
            2.1.7 mysql默认安装完毕后是没有密码的  更改密码mysqladmin -uroot -p password '新密码'
            
            2.1.8 登陆mysql服务器
                    mysql -uroot -p
            
            2.1.9 SQLyog去连接虚拟机mysql
                  连接报1130错误,没有权限进行远程连接,更改权限为%
                  1.登陆mysql服务器
                  2.切换到mysql数据库下
                  3.查询当前用户表中用户名和host信息,发现host为127.0.0.1代表只能本机使用root  ,外界用不了
                    select user,host from user;
                  4.更改权限,将host改为%,如果报ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY’  不用理会
                    update user set host='%' where user='root';
                  5.select user,host from user;
                  6.刷新权限
                    flush privileges;
                  7.退出客户端,重启mysql,然后再次使用SQLyog去连接

测试连接,出现如下界面就是成功了,如果报错,尝试关闭虚拟机防火墙

  systemctl stop firewalld.service
  systemctl disable firewalld.service

  2.2 搭建主从复制
            2.2.1 配置节点信息
                    找到my.cnf配置文件,rpm方式安装在/etc下没有该文件,mysql默认启动的时候会加载/usr/share/mysql/my-medium.cnf,只需要将这个文件复制到/etc下改名为my.cnf即可
                    配置主节点:
                        1.执行  cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
                        2.编辑  vi /etc/my.cnf文件
                        3.更改如下内容:
                            server-id = 保证唯一,建议配置成ip地址第四位
                            log-bin=mysql-bin 为了让主机生成二进制SQL日志执行文件
                        4.重启mysql服务器
                            
                        5.查看当前server-id是否生效,使用sqlyog工具查看,如果返回值为0或者1代表是默认的
                            SHOW VARIABLES LIKE 'server_id'

        我这里主机配置的是111

        

6.查看当前主服务器状态,如果看到的不是null代表成功~
                            SHOW MASTER STATUS

        

配置从节点:
                        1.执行  cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
                        2.编辑  vi /etc/my.cnf文件
                        3.更改如下内容:
                            server-id       = 122
                            log-bin=mysql-bin

        这一步设置的是要同步的数据库,此处用test测试,如需同步多个数据库,多添加几条如下代码,更换成相应数据库名即可
                            binlog_do_db=test

4.重启mysql服务器
                        5.查看当前server-id是否生效,使用sqlyog工具查看,如果返回值为0或者1代表是默认的
                            SHOW VARIABLES LIKE 'server_id'
                            
            
            
            2.2.2 设置服务器读取权限
                    主服务器创建一个账号,将账号分配从服务器,从服务器拿到该账号然后才可以执行同步数据操作

      GRANT REPLICATION SLAVE ON *.* TO 'chxinz'@'%' IDENTIFIED BY '123456';
            

2.2.3 从服务器执行同步
                    从服务器执行同步操作,使用主服务器生成的权限账号,将二进制文件同步
                    ##设置同步,根据主服务器ip地址,生成的权限账号的用户名和密码以及二进制文件名称还有文件大小进行同步
                    CHANGE MASTER TO MASTER_HOST='192.168.42.111',MASTER_USER='chxinz',MASTER_PASSWORD='123456',
                    MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=243;

      

      主机:

##开启同步
                    START SLAVE

此时,在主机test数据库创建一个test001表

从机也同步了这个表

MySQL优化(三)——主从复制的更多相关文章

  1. MySQL优化三(InnoDB优化)

    body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...

  2. 【Mysql优化三章】第一章

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/Bv5f4b8Peex/article/details/78130845 如今网上的好多mysql优化 ...

  3. MySQL优化三 表结构优化

    由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以 page(block)的方式,也就是说,如果我们每条记录所占用的空间量减小,就会使每个page中可存放的数据行数增大 ...

  4. MySQL优化(三):优化数据库对象

    二.优化数据库对象 1.优化表的数据类型 应用设计的时候需要考虑字段的长度留有一定的冗余,但不推荐很多字段都留有大量的冗余,这样既浪费磁盘空间,也在应用操作时浪费物理内存. 在MySQL中,可以使用函 ...

  5. MySQL 优化 (三)

    参数优化 query_cache_size (1) 简介: 查询缓存简称QC,使用查询缓冲,mysql将查询结果存放在缓冲区中,今后对于同样的select语句(区分大小写),将直接从缓冲区中读取结果. ...

  6. mysql优化三

    1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一 ...

  7. MySql优化之主从复制

    第一步: 配置节点信息(配置完毕重启mysql) 找到my.cnf配置文件,这个文件在etc目录下使用命令修改my.cnf文件 vi /etc/my.cnf 主节点配置: server-id =55 ...

  8. 大型网站提速关键技术(页面静态化,memcached,MySql优化)(三)

    页面静态化的技术实现有两种方式 使用PHP自己的缓存机制 先说明一下OB缓存的机制. ob1.php 代码:说明的ob的各个用法->项目中 ☞ 如何打开ob缓存 ①     配置php.ini ...

  9. mysql优化(三)–explain分析sql语句执行效率

    mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...

随机推荐

  1. 20191225--python学习第二天笔记(补)

    1.内容回顾 学习计算机基础 安装解释器 2.语法 print/input 整型 int/字符串 str/布尔类型 boolen 条件语句 and运算符 变量 3.练习 评分规则:用户输入成绩,根据成 ...

  2. Params:params 关键字可以指定在参数数目可变处采用参数的方法参数。

    Params:params 关键字可以指定在参数数目可变处采用参数的方法参数. 注意点: 1.一个方法中只能使用一个params来声明不定长参数数组: 2.params参数数组只能放在已定义参数后面 ...

  3. java 获取两个时间之前所有的日期

    正序(2017-01-01 ~2019-xxxxx) package com.founder.util; import java.text.SimpleDateFormat; import java. ...

  4. Multicast

    Source Specific Multicast (SSM) The multicast that you are probably familiar with (PIM sparse and de ...

  5. 【二】、UML基础知识——图图解乾坤

    [二].UML基础知识 UML概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模.用于对软件进行描述.可视化处理.构建软件系统的文档.是一套总结了以 ...

  6. .NET知识梳理——1.泛型Generic

    1. 泛型Generic 1.1        引入泛型:延迟声明 泛型方法声明时,并未写死类型,在调用的时候再指定类型. 延迟声明:推迟一切可以推迟的. 1.2        如何声明和使用泛型 泛 ...

  7. idea创建基于maven的web项目

    1.点击create new project,选择maven,点击next 2.输入项目信息,点击finish 3.进入项目后,点击菜单File->Project Structure开始配置项目 ...

  8. android编译/反编译常用工具及项目依赖关系

    项目依赖关系 apktool:依赖smali/baksmali,XML部分 AXMLPrinter2 JEB:dx 工具依赖 AOSP , 反编译dex 依赖 apktool dex2jar:依赖 A ...

  9. ES6 - 报错整理(1): Unexpected end of JSON input while parsing near '...es":"7.0.0-alpha.11",'

    npm install --save-dev 安装 babel-preset-env时一直报错 Unexpected end of JSON input while parsing near '... ...

  10. fish 设置环境变量;fish shell 相关使用说明记录;

    最近使用 fish进行工作,发现环境变量忘记如何设置: fish 环境变量保存在两个地方: ~ 目录下,.config/fish 目录下: /etc/fish/ 目录下 如果配置所有用户都能用的环境变 ...