zoukankan      html  css  js  c++  java
  • MySQL主从复制搭建

    1.准备工作

    服务器一,操作系统Debian 8,IP地址192.168.15.10,主机名master,mysql版本5.5。

    服务器二,操作系统Debian 8,IP地址192.168.15.11,主机名slave,mysql版本5.5。

    2.配置

    a)配置Master

    root@master:/# vim /etc/mysql/my.cnf
    ...
    server-id               = 1
    log_bin                 = /var/log/mysql/mysql-bin.log
    #binlog_do_db           = include_database_name
    #binlog_ignore_db       = include_database_name
    ...
    :wq
    root@master:/# service mysql restart
    root@master:/# mysql -uroot -p
    mysql> GRANT REPLICATION SLAVE ON *.* to 'slave001'@'%' identified by '123456';
    mysql> flush privileges;
    mysql> flush tabels with read lock;
    mysql> show master status;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000001 |      108 |              |                  |
    +------------------+----------+--------------+------------------+
    mysql>

    此时不要退出,等从库设置并启动完成后还需要执行unlock tables。

    mysql> unlock tables;

    b)配置slave

    root@slave:/# vim /etc/mysql/my.cnf
    ...
    server-id               = 2
    log_bin                 = /var/log/mysql/mysql-bin.log
    #binlog_do_db           = include_database_name
    #binlog_ignore_db       = include_database_name
    ...
    :wq
    root@slave:/# service mysql restart
    root@slave:/# mysqldump -h192.168.15.10 -uroot -p –-all-databases –-add-drop-database –-add-drop-table > dump.sql
    root@slave:/# mysql -uroot -p < dump.sql
    root@slave:/# mysql -uroot -p
    mysql> change master to master_host='192.168.15.10',master_user='slave001',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=108;
    mysql> start slave;
    mysql> show slave statusG
    ...

    确认从库正常启动后,回到主库执行unlock tables。

    3.验证

    在master上创建test2库。

    root@master:/# mysql -uroot -p
    mysql> create database test2;

    在slave上查看test2库是否存在。

    root@slave:/# mysql -uroot -p
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test2              |
    +--------------------+

    4.常见问题

    主库同步数据给从库时如果发生数据不合法情况,从库同步线程会自动终止。这时需要解决不合法问题后再start slave,通过日志可以发现该问题。

  • 相关阅读:
    前向传播与反向传播
    卷积运算
    使用GUI工具Portainer.io管控Docker容器
    NextCloud: 打造自己的网盘
    金融危机和经济危机有什么不同
    【转载】Windows环境的Workflow神器:AutoHotkey
    Lua常用模块
    Lua基本语法
    区分 IaaS、SaaS 和 PaaS
    【笔记】流畅的Python
  • 原文地址:https://www.cnblogs.com/ilovecpp/p/12750101.html
Copyright © 2011-2022 走看看