MySQL主从搭建(一主一从)

配置文件在最下方,只是能用,强一致性、同步时间、包大小、连接数、超时时间没考虑

1、Windows下防火墙添加出入站规则保证能互相PING通 Linunx同理
我做的时候是在同一个路由器下面做的,多虚机、外网等其他情况没试过

2、注意mysql.user表权限的IP限定

3、注意库表结构从库不能单方面变更,数据不要在从库修改,从库用来读

4、没考虑强一致性问题 需要自行查一下

5、主从都安装mysql 保证my.ini/my.cnf中server-id不一样,小心版本不一致问题,可能有坑
新安装的mysql,root账户可能有默认密码,日志里面看一下,可视工具连接会让重新设置密码

6、主库需要一个有REPLICATION SLAVE(拷贝至从库)的权限的用户
GRANT之后需要FLUSH PRIVILEGES 如果你愿意重启也行

7、全库备份
windows不登陆mysql
cd D:\tools\mysql\bin
mysqldump -u root -p"Zh********" --all-databases>D:\tempFile\temp.txt
mysqldump --extended-insert=false 导出的insert语句 一个表多个insert还是一个insert语句

linux不登陆mysql
mysqldump -p –all-databases > /tmp/dbdump.db

8、linux下从节点scp备份的数据和结构/文件,windows用别的方法,方法很多不赘述,文件传输记得压缩

9、从节点执行备份的sql
mysql> source /tmp/temp.txt

10、主节点查看二进制文件位置
SHOW MASTER STATUS
记录下File,Position的值。留待下一步使用。

11、从节点执行
change master to master_host=‘X.X.X.X’,master_user=‘test’,master_password=‘test’,master_log_file=‘mysql-bin.000004’,master_log_pos=1827695;
tips:我做的时候是 两个机器在同一个路由器下做的 一个机器多个虚机没试过
账户信息是第6点中提到的账户

12、从节点启动和验证
启动
mysql> START SLAVE;
停止是STOP SLAVE;

验证一
mysql> show slave status;
验证两个值 Slave_IO_Running和Slave_SQL_Running是否是Yes
刚开始没做数据的时候Slave_IO_State是Waiting for master to send event
状态信息不应该包含error,有的话需要百度/google 一下

验证二
主库插两条数据看看

可能用得到的其他命令
flush logs;主库新创建一个log文件
show master logs;查看主库的二进制日志有哪些
show binlog events in ‘master-bin.000001’;查看某个日志文件的事件内容


https://download.csdn.net/download/zhouhangzhouxing/12406905

https://download.csdn.net/download/zhouhangzhouxing/12406901

你可能感兴趣的:(mysql)