文件配置
主节点在/etc/my.cnf文件中配置:
log-bin=learn-mysql
server-id=1
从节点在/etc/my.cnf文件中配置:
server-id=2
两个节点的server-id不能相同。
主节点
创建数据同步用户
create user 'repl'@'%' identified by 'root'
授权从节点由该用户同步数据
grant replication slave on *.* to 'repl'@'%';
给数据库上读锁
flush tables with read lock
查看主节点binlog
show master status;
file:binlog日志文件名称
position:当前拷贝日志的binlog的下标
将数据库拷贝一份,此时因为数据库被上了读锁,不会有新数据产生
/usr/local/mysql/bin/mysqldump --all-databases --master-data > dump.db -u root -p
解除读锁,此时新加入的数据会记录到binlog中
unlock tables;
将db文件拷贝到从节点
scp dump.db root@t2:/
从节点
导入数据
mysql < dump.db -u root -p
配置对应主节点的信息
change master to
master_host='主节点的ip',
master_user='主节点用于数据同步并已授权的用户',
master_password='用户密码',
master_log_file='learn-mysql.000001', show master status中的file,binlog文件
master_log_pos=747; show master status中的position,主节点开始同步的数据下标
开启从节点同步
start slave;
从节点执行
show slave status;
出现如下图所示表示主从搭建成功