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. 制作openstack的windows server 2012r2镜像

    1. 基础环境安装 yum groupinstall Virtualization "Virtualization Client" yum install libvirt 2. 启 ...

  2. CentOS6.5下部署SVN

    查看系统版本,安装SVN软件及创建目录 [root@A-linux ~]# uname -r 2.6.32-431.el6.x86_64 [root@A-linux ~]# cat /etc/redh ...

  3. CodeForces 327B 水题。

    I - 9 Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  4. 将jsp页面转化为图片或pdf升级版(二)(qq:1324981084)

    java高级架构师全套vip教学视频,需要的加我qq1324981084 上面我们已经将jsp页面转化成html页面了,那么接下来我们的目标是利用这个html页面形成pdf或图片格式.这里我用到的是w ...

  5. 来简单说说var,let,const,function,import,class

    一.var和let var已经在JavaScript中存在很长一段时间了,但是它存在了一些不足的地方,接下来我们就来看看吧 首先var存在变量提升,这是怎么一回事呢,我们看下面代码 为什么是它呢,是因 ...

  6. kuangbin专题 专题九 连通图 Warm up HDU - 4612

    题目链接:https://vjudge.net/problem/HDU-4612 题目:一个大地图,给定若干个连通图,每个连通图中有若干个桥,你可以在任意某个连通图的 任意两个点添加一条边,问,添加一 ...

  7. 深入浅出 .NET C# 反射技术

    反射这个词听起来就很牛逼是吧? 嗯的确,反射是比较高级的特性,只有语言基础很扎实的Dev们才应该使用它. 搞点反射,可以提高程序的灵活性.可扩展性.耦合度. 反射这东西,是为了动态地运行时加载,相比于 ...

  8. 抖音快手短视频去水印API,接口开发文档

    开发者官网:http://api.lingquan166.com/ 简介:根据抖音.微视.小红书.皮皮搞笑等APP中复制出来的链接,解析获取短视频的标题.封面.无水印短视频地址等信息. 接口地址: h ...

  9. c#画图之折线图

    public JsonResult DrawLineChart() { // 预置颜色 List<Color> colors = new List<Color>() { Col ...

  10. kali linux 渗透入门之基础准备-Burp Suite 代理设置

    一:安装火狐浏览器-插件与设置中文 打开浏览器,复制粘贴这条url: https://addons.mozilla.org/en-US/firefox/addon/chinese-simplified ...