美文网首页
mysql配置读写分离实践

mysql配置读写分离实践

作者: chichoyi | 来源:发表于2020-11-14 15:31 被阅读0次

    背景说明

    • 单服务器资源有限,需要做读写分离或者双读,我们准备好服务器A,服务器B

    一、服务器A配置

    [mysqld]
    log-bin=/var/log/mysql/mysql-bin
    server-id=1
    innodb_flush_log_at_trx_commit = 1
    sync_binlog = 1
    
    
    #A服务查看是否关闭这个
    show variables like '%skip_networking%';
    +-----------------+-------+
    | Variable_name   | Value |
    +-----------------+-------+
    | skip_networking | OFF   |
    +-----------------+-------+
    1 row in set (0.00 sec)
    
    #创建给B服务器复制数据的账号
    CREATE USER 'repl'@'%'
    GRANT REPLICATION SLAVE ON *.*  TO  'repl'@'%'  identified by 
     'QFedu123!';
    
    在B服务器测试连接是否成功
    mysql -urepl -p'QFedu123!' -hmysql-master1
    

    二、备份A服务器数据库和传输到B服务器

    #使用工具保存数据库
    mysqldump  -uroot -ppassword --dbname > dbname_test.db
    
    #利用scp传文件
    scp dbname_test.db root@123.123.21.12:/data
    

    将备份文件导入服务器B

    #登录
    mysql -uroot -p
    
    #选择数据库
    use dbname_test;
    
    #导入数据库
    source /data/dbname_test.db;
    

    三、配置B服务器

    [mysqld]
    server-id=2
    
    #查询A服务器的日志到哪里了
    show master status;
    
    #B服务器设置从日志某个位置开始复制
    CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=643;
    
    #配置连接账号
    CHANGE MASTER TO MASTER_HOST='host', MASTER_USER='user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=643;
    
    #B服务器开启复制
    start slave;
    
    
    

    相关文章

      网友评论

          本文标题:mysql配置读写分离实践

          本文链接:https://www.haomeiwen.com/subject/eoivbktx.html