mysql主从同步部署

103 阅读1分钟

首先准备两台服务器,安装同一个版本的mysql。

假定A机器为主库,服务器地址为:IPA。B机器为从库,服务器地址为:IPB。

首先在主库操作 my.cnf有可能是在/etc/mysql/my.cnf

 vim /etc/my.cnf
server-id=130
log-bin=wwlinux701

修改完成重启mysql

service mysqld restart

 

以root身份登录

创建用于同步的账号  alex,并赋予同步权限

use mysql;
create user 'alex'@'%' identified by 'your password';
grant all privileges  on *.* to "alex"@'%';
grant replication slave on *.* to 'alex'@'%';

 查看主库状态并记下FIle 和 Position 参数,我这里是wwlinux701.000001 和 771

show master status;

 

 

然后在从库机器上操作

 vim /etc/my.cnf
server-id=131

root用户登录从库mysql,执行

stop slave;
change master to master_host='ip',master_user='f',master_password='y',master_log_file='mysql-bin.000137',master_log_pos=771;
start slave;

查看同步状态

show slave status\G 

出现以下信息则成功同步 

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0

 

几个配置参数
主服务器上
binlog-do-db= //仅同步指定的库
binlog-ignore-db= //忽略指定库
从服务器上
replicate_do_db=
replicate_ignore_db=
replicate_do_table=
replicate_ignore_table=
replicate_wild_do_table= //如aming.%, 支持通配符%
replicate_wild_ignore_table=

主从同步问题修复

1. 先停止slave
mysql>stop slave;

2. 跳过slave上的1个错误
mysql>set  global sql_slave_skip_counter=1;

3.手动修复不同步的数据

4.启动slave
mysql>start slave;

 

  本文已参与「新人创作礼」活动,一起开启掘金创作之路