MySQL 主从架构的搭建其实不难,只要你搞清楚几个关键配置,基本就能跑起来。这套流程覆盖了从安装、配置到运维命令,挺全的,尤其适合需要稳定同步数据的场景。
MySQL 的安装可以直接用yum
搞定,开发库、测试套件一并装上,少踩坑。启动服务的老命令/etc/init.d/mysqld start
现在还挺常用。
主服务器配置重点在几个地方:server-id
设成 1,一定要打开log-bin
,没这玩意复制根本玩不转。要同步哪个库就用binlog-do-db
点名,不想同步的就binlog-ignore-db
排除。
主库这边别忘了创建一个复制用的用户,比如repl_user
,别嫌麻烦,grant replication slave...
还是得跑一遍。
备份的时候记得FLUSH TABLES WITH READ LOCK;
锁表,避免数据乱套。打包用tar
,传到从库上解压,chown
下权限,这步不少人会忘。
从服务器的server-id
改成 2 就行,别跟主库撞了。配置主库信息时用master-host
那些参数,replicate-do-db
、replicate-ignore-db
记得根据实际库名调整。
用CHANGE MASTER TO
接上主库,再START SLAVE;
一把搞定。想确认有没有同步上,用SHOW SLAVE STATUS\G
看看,Slave_IO_Running
和Slave_SQL_Running
都得是“Yes”。
运维命令也挺实用,比如SHOW PROCESSLIST
看当前执行的 SQL,SHOW VARIABLES;
查配置,SHOW ENGINE INNODB STATUS\G
查引擎状态,有时候查慢 SQL 也得靠这些。
慢查询别忘了打开日志,先用show variables like '%slow%';
查查有没有开启,平时调优全靠它。
如果你平时要运维多个 MySQL 实例,或者搞同步、做备份,不妨把这份指南收藏一下,实操性还蛮强的。