MyCat分库分表-主从
一、MySQL数据同步
1、主节点配置,log-bin,指定文件名称
2、主节点配置server-id,默认为1
vim /etc/my.cof
在[mysqld]下添加如下配置
log-bin=imooc_mysql server-id=1
重启MySQL:service mysqld restart
3、从节点配置server-id,与主不能重复
vim /etc/my.cof
在[mysqld]下添加如下配置
server-id=2
重启MySQL:service mysqld restart
4、主节点创建备份账号并授权 REPLICATION SLAVE
mysql -uroot -p
create user 'repl'@'%' identified by 'xxxxxxx';
grant replication slave on *.* to 'repl'@'%';
flush privileges;
5、主节点锁表,保持主节点数据不会变化,用于存量数据备份和bin-log的位置的确定
锁表:flush tables with read lock;
查询bin-log的位置:show master status;
6、主节点备份数据
注意,不要退出MySQL,因为还锁着表呢。所以新开个窗口执行命令
mysqldump --all-databases --master-data > dbdump.db -uroot -p
7、从节点将dbdump.db复制过来。
scp root@192.168.1.131:~/dbdump.db .
8、从节点加载存量数据
mysql < dbdump.db -uroot -p
9、主节点放开锁
unlock tables;
10、从节点设置同步
change master to
-> master_host='192.168.1.131',
-> master_user='repl',
-> master_password='Imooc@123456',
-> master_log_file='imooc_mysql.000001',
-> master_log_pos=855,
-> get_master_public_key=1;
start slave;
主从完成。
常用操作:
stop slave;
reset slave all;
show slave status\G;
整理自慕课网《java架构师体系课》