1.打开mysql数据库配置文件
vim /etc/my.cnf
2.在主服务器master上配置开启Binary log,主要是在[mysqld]下面添加:
server-id=1 #唯一id,可随意设置
log-bin=master-bin
log-bin-index=master-bin.index
如图:
3.重启mysql
service mysql restart
4.检查配置效果,进入主数据库并执行
mysql> SHOW MASTER STATUS;
查询结果如下:
5.配置从服务器my.cnf
server-id=2 #唯一id,可随意设置
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
server-id与主服务器的server-id不同,如图:
配置完成后重启mysql
service mysql restart
6.配置两数据库关联
进入主数据库建立一个操作主从同步的数据库用户:
mysql> create user darthis;
mysql> GRANT REPLICATION SLAVE ON *.* TO '用户名'@'从ip' IDENTIFIED BY '密码';
mysql> flush privileges;
进入从数据库配置:
mysql> change master to master_host='主ip',master_port=3306,master_user='用户名',master_password='密码',master_log_file='master-bin.000001',master_log_pos=777;
上述步骤执行完毕后执行start slave启动配置:
mysql> start slave;
停止主从同步的命令为:
mysql> stop slave;
查看状态命令,\G表示换行查看:
mysql> show slave status \G;
这样就是主从同步成功了!
可以进行建表测试一下
在主数据库建一个数据库
mysql> create database darthis;
如图可以看到主数据库已经建立一个darthis数据库:
在从数据库查询数据库
mysql>show databases;
如图可以看到从数据库没有创建也有darthis数据库:
到此mysql主从同步已经完成了!!