zoukankan      html  css  js  c++  java
  • mysql主从搭建

    mysql主从搭建
    参考文档https://www.cnblogs.com/clsn/p/8150036.html
    前提条件:
    系统:Ubuntu 16.04.6 LTS
    MySQL版本:5.7.24
    主库IP:192.168.225.131
    从库IP:192.168.225.132

    1.安装主数据库master

    sudo apt-get install mysql-server
    sudo apt-get install mysql-client
    sudo apt-get install libmysqlclient-dev

    2.安装完成master后对数据库进行配置

    注意以下只是配置文件中跟主备相关的部分内容,其他配置根据需要自己进行配置即可。
    [mysqld]
    bind-address = 192.168.225.131 //这里的IP地址必须是通过ipconfig查出来的IP
    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    expire_logs_days = 10
    max_binlog_size = 100M
    binlog_do_db = empw_test
    #binlog_ignore_db = include_database_name
    binlog_format = row # binlog的格式 row 具有 statement和mixed 不具备的优势 填写 row
    sync_binlog = 1
    innodb_flush_log_at_trx_commit = 1 # 和 sync_binlog 组成双1 配置 保证数据的完整性
    3.完成第2步的配置后重启数据库
    ubuntu为systemctl restart mysql.server
    创建同步账号
    CREATE USER 'sync'@'%' IDENTIFIED BY 'sync';
    grant replication slave on *.* to 'sync'@'192.168.225.132' identified by 'sync';
    flush privileges;

    4.登录数据库查看配置是否生效

    mysql -uroot -p

    use mysql;
    show master status;

    如上图所示,标识master配置成功。
    注意:在第2步中的bind-address地址,是否要配置为公网IP地址,有待进一步测试。
    设置数据库可以远程访问
    grant all privileges on *.* to root@'%' identified by 'xxxx' with grant option;
    flush privileges;
    创建备份用户
    grant replication slave on *.* to repl@'%' identified by '123';
    flush privileges;

    5.安装从数据库slave

    sudo apt-get install mysql-server
    sudo apt-get install mysql-client
    sudo apt-get install libmysqlclient-dev

    6.安装完成slave后对数据库进行配置

    注意以下只是配置文件中跟主备相关的部分内容,其他配置根据需要自己进行配置即可。
    server-id = 2
    bind-address = 192.168.225.132

    7.完成第6步的配置后重启数据库

    ubuntu为systemctl restart mysql.server

    8.登录数据库配置slave

    从数据库配置前需要一次初始化数据
    在主数据库执行:
    mysqldump -uroot -proot -A -B -F --master-data=2 >/tmp/full.sql
    在从数据库执行:
    mysql -uroot -p
    set sql_log_bin=0;
    source /tmp/full.sql
    配置slave
    CHANGE MASTER TO
    MASTER_HOST='192.168.225.131',
    MASTER_USER='repl',
    MASTER_PASSWORD='123',
    MASTER_PORT=3306,
    MASTER_LOG_FILE='mysql-bin.000008',
    MASTER_LOG_POS=154;
    start slave; # 启动从库复制
    该配置想关说明可以通过 help 获得。
    查看slave库的状态:show slave status;
    主要查看 Slave_IO_Running 与 Slave_SQL_Running 是否都为Yes

    9.测试

    在主数据库中创建一张表,在从数据库中进行查看即可,如果从数据库中自动创建改表表示配置成功。

  • 相关阅读:
    const用法详解(转)
    [转]Scintilla开源库使用指南
    javascript 流程控制语句 if 语句
    knockout.js 练习一
    深入Node.js的模块机制
    js本地存储解决方案(localStorage与userData)
    linear-gradient 渐变 css3新属性
    制作响应式网站时,用来测试不同宽度下网页展示效果的方法
    zepto.js, django和webpy
    attachEvent 与 addEventListener 的用法、区别
  • 原文地址:https://www.cnblogs.com/youjile/p/11478247.html
Copyright © 2011-2022 走看看