zoukankan      html  css  js  c++  java
  • MySQL主从配置

    主配置log-bin,指定文件的名字

    主配置server-id,默认为1

    从配置server-id,与主不能重复

    MySQL主: 192.168.127.134

    MySQL从: 192.168.127.135

    从库有数据库user_134 和表user

    从库的数据库名和表名与主库保持一致

     

    1、主库 134配置

    vi  /etc/my.cnf

     配置完成后,重启Mysql 

    service mysqld restart

    2、从库 135配置

    vi  /etc/my.cnf

    server-id=2

     配置完成后,重启Mysql 

    service mysqld restart

    3、主数据库134 创建备份账号并授权  REPLICATION  SLAVE

    该账号用于主从的数据同步

    登录数据库,并创建用户repl

    create user 'repl'@'%' identified by 'Larry@123456';

    授权

    grant replication slave on *.* to 'repl'@'%';

    刷新权限

     flush privileges;

    4、主数据库进行锁表。

    注意:这里的目的是将主库的数据备份到从库中,以使主库和从库的数据保持一致。

    登录mysql执行如下命令

    FLUSH TABLES WITH READ LOCK;

    锁表是为了数据备份。进行主从数据同步时,先对主库锁表(也就是不能进行写操作),在同步数据。

    主库锁表后,往主库插入数据。可以发现一直在转圈圈。

    5、主数据库找到log-bin的位置 SHOW MASTER STATUS;

    6、主数据库备份数据

    备份到dbdump.db 这个文件。

    复制一个会话,并执行

    mysqldump --all-databases --master-data  > dbdump.db  -uroot  -p

     可以看到文件已经保存好了

    7、将主数据库(134)的数据复制到从数据库(135)

    在从数据库中使用scp命令

    scp root@192.168.127.134:~/dbdump.db  .

    8、将文件加载到从数据库中

    在从数据库所在的服务器(135)执行如下命令

    mysql  < dbdump.db -uroot -p

     

    9、查看验证从数据库是否同步了数据

     说明已经有数据了。

    10、在主库中解除锁表

    unlick tables;

    然后可以发现前面的插入数据成功了。

    此时主库中有两条数据,从库中只有1条数据。 

    11、在从库上设置主的配置

    mysql> change master to
    -> master_host='192.168.127.134',
    -> master_user='repl',
    -> master_password='Larry@123456',
    -> master_log_file='larry_mysql.000001',
    -> master_log_pos=739;

     其中master_log_file 和master_log_pos的值与前面对应 

         

    然后执行start slave;

     最后,可以发现从库中也有两条数据了。

    12、主库中将Larry10改成Larry100

     然后进入从库,Larry10也变成了Larry100

     然后插入一条数据,11,Larry11。可以发现从库中也多了这条数据。

    作者:Work Hard Work Smart
    出处:http://www.cnblogs.com/linlf03/
    欢迎任何形式的转载,未经作者同意,请保留此段声明!

  • 相关阅读:
    ngx_os_init解析
    cacheline相关优化手段
    std::thread_local
    std::initializer_list<T>
    MySQL group by 注意事项
    MySQL IFNULL函数
    python nginx不同参数压测脚本
    完全卸载oracle11g步骤
    Maven常用命令(转载)
    项目SVN的IP地址发生变化时修改SVN为新的IP地址
  • 原文地址:https://www.cnblogs.com/linlf03/p/13964265.html
Copyright © 2011-2022 走看看