MySQL数据库实现主从同步

来源:互联网 发布:nodejs 在linux下安装 编辑:程序博客网 时间:2024/05/19 21:41

想要配置好 主从同步,首先必须有 两个相同 版本的 MySQL数据库(我是特意建了两个Linux,各自安装了相同版本的数据库,也可以一个主机装两个MySQL)

#######################################配置主服务器 start#########################################
1、主服务器 MySQL 创建一个新用户,并给从服务器相关权限
    //创建新用户
   mysql> create user repl;
    //repl用户必须具有replication slave权限,除此之外没有必要添加不必要的权限,密码为root。说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
    mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY 'root';

2、主MySQL启动bin-log日志(在 [mysqld] 下面加入下面几行代码)<my.ini 或者是 my.cnf文件下>
    server-id=1   //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
    log-bin=master-bin
    log-bin-index=master-bin.index

3、重启主mysql
    service mysqld restart
4、查看主mysql日志
    show master status;
#############################配置主服务器 end######################################################


#############################配置从服务器 start####################################################
1、找到 从服务器 MySQL安装文件夹修改 my.cnf/my.ini 文件,在 [mysqld]下面增加几行
    server-id=2
    relay-log-index=slave-relay-bin.index
    relay-log=slave-relay-bin
2、连接Master

   mysql>change master to master_host='192.168.0.104', //Master 服务器Ip
        >master_port=3306,
        >master_user='repl',
        >master_password='mysql',
        >master_log_file='master-bin.000001',//Master服务器产生的日志
        >master_log_pos=0;

3、启动Slave
        mysql>start slave;

#############################配置从服务器 end####################################################

接下来就可以在主数据库中操作了,你的任何改变主服务器数据库的操作,都会同步到从服务器上