zoukankan      html  css  js  c++  java
  • Mysql 主从复制

    Mysql 主从复制
     
     
    环境
            系统:centos7.2
                      mysql : 5.5.48
            主库:
                    47.52.194.*(公)
                    172.31.93.*(私有)
            从库:
                    60.205.229.*(公)
                    172.17.108.*(私有)
    搭建主库
    1、修改mysql配置文件 /etc/my.cnf(编辑:vi  /etc/my.cnf),这部分一定要配置在[mysqld]后面

    server-id=1   #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

    log-bin=mysql-bin  #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

    binlog-do-db=elp  #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

    binlog-ignore-db=mysql   #不同步mysql系统数据库

    2、重启mysql
    登录数据库,进入主库之后给主数据库授权一个可以进行复制的账号
    grant replication slave on *.* to '58coinck'@'60.205.229.*' identified by 'jxkshu';
     
    3、查看用户是否创建成果
     select Host,User ,Password      from user where 1;
     
    4、查看my.cnf中配置的server-id是否成功
            show variables like 'server_id';
             
     
    5、 查看主库信息这些信息要用
          show master status;
          
     
    6、将主库暂停,将数据库导出来,迁到从库,保证主库和从库两边的数据库一致
     
     
    二、搭建从库
     
    1、修改从库里mysql配置文件 /etc/my.cnf  (编辑命令:vi  /etc/my.cnf),这部分一定要配置在[mysqld]后面
    server-id=2   #设置服务器id,为2表示从服务器(也可以为其他值),注意:如果原来的配置文件中已经有这一行,就不用再 添加了。
       wq;   #保存;
     
    2、重启mysql,并查看是否配置成功
            
    3、登录到从库的数据库,做同步设置(此处要用到上面5)中记录的数据)
    slave stop;   //关闭库服务
    change master to master_host='47.52.194.*',  //ip为主库ip地址
    master_port=3306, //主库端口号
    master_user='58coinck',                   //主库设置的同步账号
    master_password='Lzf_********018', //主库设置的同步账号密码
    master_log_file='mysql-bin.000005',// show master status;  里的File
    master_log_pos=5391;               //show master status;  里的Position
    slave start; //开启库服务
           
     
    4、测试同步结果
           在主库新建一张test表,看下从库是否相应的生成对应的test表,如果生成,哪说明配置成功
           
     
    5、查看同步状态
              show slave status G;
                 
    备注
     
    用户权限
        GRANT ALL PRIVILEGES ON *.* TO '58coin'@'%' IDENTIFIED BY PASSWORD '*47EADFF3134CED9A0892A238F5E4A046C9F92480' WITH GRANT OPTION
     •all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。
     •on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
     •to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录
     •identified by:指定用户的登录密码
     •with grant option:表示允许用户将自己的权限授权给其它用户 
     
    可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。 
     
    查看用户权限
         show grants for username;   
    删除用户
        drop user username;
    刷新权限
        flush privileges;
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    vue系列---identify(生成图片验证码)插件
    vue中的锚链接跳转问题
    vue中怎样实现 路由拦截器
    Vue生命周期和考点
    Vue如何使用vue-area-linkage实现地址三级联动效果
    JS的Key-Val(键值对)设置Key为动态的方法
    web开发——在网页中引用字体包(.ttf),即嵌入特殊字体
    spring boot 实现多个 interceptor 并指定顺序
    BigDecimal加减乘除计算
    乐观锁解决并发问题
  • 原文地址:https://www.cnblogs.com/jxkshu/p/8666027.html
Copyright © 2011-2022 走看看