我的系统为Ubuntu14.04
在进行配置前,需要先进行Mysql的安装,Mysql的版本应该尽量相同,如果无法保证相同,也需要尽量不要相差太多。
首先需要配置Mysql的配置文件,在Ubuntu系统下,执行以下命令进入配置命令的编辑界面
vim /etc/mysql/my.cnf
需要修改其中的mysqld块中的几个配置:
Master配置
bind-address=${本机地址}
server-id=${一个系统内的唯一识别码} #用来唯一标识服务
log-bin=mysql-bin # 开启二进制日志,slave通过该文件进行同步
binlog-ignore-db = mysql,information_schema #指定哪些库不写入日志文件
Slave配置
bind-address=${本机地址}
server-id=197
replicate-do-db = im_surgical #指明要同步的库
slave-skip-errors = all #忽略因复制出现的所有错误
在修改完成后重启Mysql服务,使修改生效:
/etc/init.d/mysqld restart
在Master下,接入Mysql并创建用来进行同步的Mysql账号(该配置只会对给予指定的ip地址进行复制的权限,如果有多个slave需要进行多次输入或者使用通配符)
mysql -uroot -p${your root password}
GRANT REPLICATION SLAVE ON *.* to ‘${用户名}’@‘${slave ip地址}’ identified by ‘${用户密码}’;
之后需要进行Slave的配置
mysql> change master to
-> master_host='${Master 地址}',
-> master_user='${授权的用户名}',
-> master_password='${密码}',
-> master_log_file='${使用的log文件}',
-> master_log_pos=${Master上产生的有一个随机码};
其中的log文件名和随机码可以在Master的Mysql下输入命令show master status;
进行查看,随机码对应的属性为Position
最后在Slave上的Mysql下输入命令start slave;
开启同步进程
开启后可以输入命令show slave status;
查看同步的状态,如果slave_IO_State显示为Waiting for master to send event则说明配置正确,成功开启了同步进程。