MySQL主从同步
时间:2021-07-01 10:21:17
帮助过:3人阅读
1.准备
两台虚拟机
A 192.168.174.132 【主】
B 192.168.174.133 【从】
2.MySQL版本>5.0
3.常用命令
show master status;
show slave status;
show procudesslist \G; 可以查看当前有多少客户端链接到本库
4.配置
4.1.确保/etc/my.cnf属于当前MySQL,可以把自动生成的复制到/etc/my.cnf cp /usr/shara/mysql/my-medium.cnf /etc/my.cnf
4.2.主库配置my.cnf
server-id=10101
log-bin=mysql-bin
binlog-ignore-db=mysql,test
innodb_flush_log_at_trx_commit=1
sync_binlog=1
log_slave-updates
show master status
查看当前主库状态
为从库添加一个用户
GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@‘2.2.2.%‘ IDENTIFIED BY ‘testpass‘;
重启MySQL
4.3从库配置 my.cnf
server-id=20101
replicate-do-db=demo //要同步的数据块
replicate-do-table=user //要同步的表【可以添加多条】
master-info-file=master.info
relay-log=relay-relay-bin
relay-log-index=relay-relay-bin.index
relay-log-info=relay-relay-log.info
重启MySQL
进入MySQL
设置主库信息
有可能需要先关闭slave [stop slave]
change master to
master_host=‘1.1.1.1‘, //主库ip
master_user=‘repl‘, //刚才在主库分配的用户名
master_password=‘testpass‘, // 分配的密码
master_log_file=‘mysql-bin.000003‘, //主库show master status 中的文件
master_log_pos=107; //主库show master status 中
开启slave 【start slave】
重启MySQL
查看从库信息
show slave
确保中间的 Slave_IO_Running=Yes
Slave_SQL_Running=Yes
出错可以通过查看MySQL的错误日志定位
查看MySQL错误日志位置
show variables like ‘log_error‘;
如果同步失败,可以通过show slave status;
查看错误的执行的sql语句,然后需要
start slave
因为出错就会自动停止slave
MySQL主从同步
标签: