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