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. iOS开发基础--C语言简述(一)

    先占个坑,回来再补 需要的运行环境,自行搜寻,工具不止一种,不详细叙述. C语言是一门非常重要的编程语言,与硬件底层直接相关,很多语言到最后的接口封装都会选择C语言,因而C语言一直很受欢迎,也务必掌握 ...

  2. 【转】netty-transport版本冲突

    Springboot整合Elasticsearch报错 今天使用SpringBoot整合Elasticsearch时候,相关的配置完成后,启动项目就报错了. nested exception is j ...

  3. 用PHP&JS实现的ID&密码校验程序

    声明:本程序纯粹是本人在学习过程中突发奇想做的,并未考虑任何可行性,实用性,只是留下来供以后参考. 前端页面 sign.html <!DOCTYPE html> <html> ...

  4. Java高级项目实战03:CRM系统数据库设计

    接上一篇:Java高级项目实战02:客户关系管理系统CRM系统模块分析与介绍 欢迎点击回顾,接下来我们说说 CRM系统数据库设计. 我们根据产品的原型搞以及UI组的设计稿, 接下来就要设计数据库, 一 ...

  5. sed命令简介

    sed处理时,有2个缓冲区:[pattern space]和[hold space] sed执行过程: 先读入一行,去掉尾部换行符,存入[pattern space],执行编辑命令. 处理完毕,除非加 ...

  6. 剑指offer-面试题63-股票的最大利润-数组

    /* 题目: 给定一个股价序列,求一次交易的最大利润. */ #include<iostream> #include<vector> using namespace std; ...

  7. github page+jekyll构建博客的解决方案

    想在github page上构建自己的博客,前几个星期就动手搞了起来,但由于自己对于前端这些东西不是很熟,所以断断续续的,直到今天才把所有东西都搞懂,而且构建出自己的github博客了. 最终效果,大 ...

  8. Excel——排序筛选

    1,自定义排序:多个关键字,从右向左一一排序 * 按颜色排序 * 按自定义序列排序 *两列中,列一个中间数,升序 * 打印标题行 * 选中,定位条件(可见),选择 * 数值筛选(大于等于),文本筛选( ...

  9. 关于对 softirq、work_queue、tasklet 学习后的一点总结

    本文基于linux版本:4.14.111 简单的总结下 softirq.work_queue.tasklet 三种中断下半部的工作原理及区别,并附上三种形式的简单实例. 一.运行原理① softirq ...

  10. mysql第五课

    修改表中一行或多行数据: SELECT*FROM student;+----+------+------+| id | name | ban  |+----+------+------+|  1 | ...