13年我做了一些系统管理员的工作,整理一下以前的文档。
主库:192.168.0.1
从库:192.168.0.2
主库 my.cnf
log-bin=mysql-bin
server-id = 1
binlog-ignore-db=mysql
从库 my.cnf
log-bin=mysql-bin
server-id = 2
#不同步的表
replicate_wild_ignore_table = db_name.tb_name
主库执行
GRANT REPLICATION SLAVE ON *.* TO 'username'@'192.168.0.2' IDENTIFIED BY 'password';
从库执行
change master to master_host='192.168.0.1', master_user='username', master_password='password', master_port=33306;
此语句生成或修改master.info,从库根据master.info文件进行同步,master.info被人为修改或删除后,需要重新备份主库。
主库的第一次备份到从库
--master-data也可用--delete-master-logs代替,此参数同时删除主库的bin log,会影响正在进行复制的从库。
/path/to/mysqldump --add-drop-database --add-drop-table --allow-keywords --routines --socket=/path/to/mysql.sock --master-data --quick --single-transaction --user=root --password --databases db_name > backup.sql
从库开始或停止同步
start/stop slave
查看主库状态(主库执行)
show master status
查看从库状态(从库执行)
show slave status