zoukankan      html  css  js  c++  java
  • linux配置 数据库主从同步

    数据库的读写分离能很大程度上减轻数据库的压力,读写分离的前提就是主从数据同步,然后在主库做增删改,从库做查询。

    例如:

    主库:192.168.0.1

    从库:192.168.0.2

    两个数据库都安装了Mysql数据库,保证允许远程连接

    主数据库配置

    1.修改mysql配置文件 /etc/my.cnf,这部分一定要配置在[mysqld]后面

    [mysqld] 
    log-bin=mysql-bin  
    server-id=1      //设置数据库服务器唯一ID,这里我们指定为1。
    binlog-do-db=hyii2  //设置需要同步的数据库,如果需要设置多个,则加入多条这行语句。

    2.重启数据库

    systemctl mysql restart

    3.登录主库

    mysql -u root -p //然后输入密码登录

    4.进入数据库之后给主数据库授权一个可以进行复制的用户,执行如下命令:

    mysql> grant replication slave on *.* to 'slave'@'%' identified by '123456';

    注意:用户名slave和密码123456可以自定义

    5.查看是否创建成功,命令如下

    mysql> use mysql;
    mysql> select user,host from user;

    6、查看主库信息

    mysql> show master status;

    注意:记录下这些值,在从库配置的时候要用到

    7.迁移数据,将主库的hyii2数据复制到从库,保证主从库拥有两个一样的数据库hyii2

    从数据库配置

    1.连接从库,修改mysql配置文件 /etc/my.cnf,这部分一定要配置在[mysqld]后面

    [mysqld]
    log-bin=mysql-bin
    server-id=2
    replicate-do-db=hyii2
    master-host=192.168.0.2
    master-user=slave
    master-password=123456

     2.登录到从库的数据库,做同步设置(此处要用到上面6中记录的数据)

    mysql> slave stop; //先关闭库服务
    
    mysql> change master to 
    master_host='192.168.0.2',
    master_user='slave',
    master_password='123456',
    master_log_file='mysql-bin.000001',
    master_log_pos=392;
    
    mysql> slave start; //启动库服务

    注意:语句中的逗号不要有空格,可以连在一起写,(为了方便阅读做了换行),语句中的slave不是用户名

    3.测试同步结果

    在主库hyii2中新建一个表test,然后看下从库是否相应生成对应的test表,如果生成了那么恭喜你,主从同步配置就成功了。

    來源:http://www.yii-china.com/post/detail/283.html

     mysql数据主从同步失败解决方案

  • 相关阅读:
    oracle_深刻理解数据库的启动和关闭
    oracle_利用闪回功能恢复数据
    oracle_五千万数据插入测试
    java_eclipse_svn 与服务器同步时 ,忽略某类型文件和文件夹
    oracle_根据表名拼装语句
    crawler_网络爬虫之数据分析_httpwatcher
    113. Path Sum II (Tree; DFS)
    112. Path Sum (Tree; DFS)
    150. Evaluate Reverse Polish Notation (Stack)
    32. Longest Valid Parentheses (Stack; DP)
  • 原文地址:https://www.cnblogs.com/wuheng1991/p/10000879.html
Copyright © 2011-2022 走看看