MySql主从同步最小配置

MySql主从同步最小配置

  1. MySql配置文件配置

    window: my.ini centos: my.cnf

    主数据库配置

    
    #配置数据库的唯一标识符,一般1位主库,从库为ip地址最后一位
    server-id = 1 
    #启用二进制日志,对应mysql-bin.xxxxx文件
    log-bin = mysql-bin
    #需要同步的数据库名
    binlog-do-db=test1
    #不需要同步的数据库名
    binlog-ignore-db=mysql

    主数据库创建一个slave角色,使从库可以用这个角色访问主库

    
    #创建用户
    create user 'repslave';
    #给用户授权
    GRANT REPLICATION SLAVE ON *.* TO 'repslave'@'192.168.%.%' IDENTIFIED BY 'selfpassword';
    
    #上面第一个*代表表,第二个*代表数据库
    #repslave是我们创建的用户
    #@后面的ip表示可以访问主库的ip地址
    #selfpassword是我们用repslave访问数据库的密码
    

    注意如果主库以前配置过主库或者从库,我们先将这些配置重置;

    一下操作在mysql内执行

    
    #重置master前需要将所有slave停止
    #重置slave前也许将slave停止
    stop slave;
    
    #重置master
    reset master;
    #查看master状态
    show master status;
    
    #重置slave
    reset slave all;
    #查看slave状态
    show slave status;
    
    
  2. 配置从数据库,可设置多个从数据库

    centos7中my.cnf一般在/etc/my.cnf win中为my.ini

    在my.cnf或者my.ini后加入

    
    #唯一标识符
    server-id = 16
    #需要同步的数据库
    replicate-do-db = test1

    如果需要配置多个从服务器的话,只需在多的从服务器中添加上述配置并保证唯一标识符不一样即可.

  3. 重启mysql

    centos: systemctl restart mysqld

    win: cmd中输入net stop mysqld;net start mysql;

    或者在任务管理器中重启mysql;

    然后可以检查下从库状态,进入mysql执行 show slave status;

    若未启动可以利用start slave;启动从数据库

  1. 从数据库连接主数据库

登录mysql执行下面sql


# 47.106.0.104为主库的ip
change master to master_host='47.106.0.104', 
# 主的端口
master_port=3306,
# 创建的用户名及密码
master_user='repslave',
master_password='repslave', 
#Master服务器产生的日志和端口,如果master重启该文件和端口会改变
#可以再master中用show master status查询对应的值
master_log_file='master-bin.000001',
master_log_pos=1615;

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页