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. 带你简单了解域名系统DNS

    带你简单了解域名系统DNS 一.域名简介 1.1.DNS服务的作用 负责解析域名,将域名解析成IP地址. 1.2.域名系统概述 由于32位的IP地址并不容易记忆,人们往往喜欢记忆网站的域名.所以当我们 ...

  2. LVM 逻辑卷 (logica volume manager)

    逻辑卷轴管理员 (Logical Volume Manager) 想像一个情况,你在当初规划主机的时候将 /home 只给他 50G ,等到使用者众多之后导致这个 filesystem 不够大, 此时 ...

  3. 1236 - Pairs Forming LCM

    1236 - Pairs Forming LCM   Find the result of the following code: long long pairsFormLCM( int n ) {  ...

  4. web前后端交互,nodejs

    手机赚钱怎么赚,给大家推荐一个手机赚钱APP汇总平台:手指乐(http://www.szhile.com/),辛苦搬砖之余用闲余时间动动手指,就可以日赚数百元 web前后端交互 前后端交互可以采用混合 ...

  5. 关于软件 TELEGRAM(电报) 的说明

    PLUS是TELEGRAM(电报)的三方客户端. 而 电报 是一款即时通讯软件.功能全面,安全性好,但在国内无法直接访问. 相关安全性介绍请看这里:https://www.anquanke.com/p ...

  6. AndroidStudio中使用XML和Java代码混合控制UI界面实现QQ相册照片列表页面

    场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建Androi ...

  7. mybatis postgresql 批量删除

    一.需求介绍 前端是一个列表页面,列表可以进行复选框的选择,后台进行关联表数据的删除. 二.框架介绍 springboot+mybatis 数据库用的postgresql 三.具体代码(前端js) 1 ...

  8. 论AMD内核如何使用Android Studio虚拟机

    其实之前和老师求证过AMD内核要用虚拟机的话应求助第三方模拟器(不然速度太慢)或直接使用真机测试,当时拿着虚拟机的报错简单搜索了下只翻到了一个用谷歌第三方工具的(检索时关键词不对的锅),觉得麻烦就没去 ...

  9. es6异步解决方案

    最初使用回调函数 ​ 由于最初j s官方没有明确的规范,各种第三方库中封装的异步函数中传的回调函数中的参数没有明确的规范, 没有明确各个参数的意义, 不便于使用. ​ 但是node中有明确的规范 ​ ...

  10. 使用node.js实现apache功能

    1.先实现在url中输入文件路径能展示对应文件内容功能 const http = require('http') const fs = require('fs') const server = htt ...