• 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.测试

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

  • 相关阅读:
    ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal使用及原理解析
    Spring Cloud入门教程
    极简策略模式
    MySQL热点行更新
    OpenResty安装、启动脚本及Lua脚本调试
    Spring Cloud Netflix超时时间设置
    SpringCloudCommons模块
    [转]Spring Boot @EnableConfigurationProperties @ConfigurationProperties注解配置原理源码分析
    SpringCloudContext模块
    [转]Spring源码解析之@Configuration
  • 原文地址:https://www.cnblogs.com/youjile/p/11478247.html
Copyright © 2020-2023  润新知