一:主服务器配置(master)在/etc/my.cnf 中的mysqld下添加
#设置服务器id 主从的id需要不同,可在mysqly用 show global variables like ‘server_id’;查看
server-id=1
#二进制文件位置
log-bin=/tmp/mysql-bin
#错误文件位置
log-error=/tmp/mysql-error
#需要同步的数据库,有多个可重复写。
binlog-do-db=xxx
#主从忽略的数据可,有多个可重复写。
binlog-ignore-db=mysql
#binlog保存时间
expire_logs_days=10
- mysql下
主从服务器都要开启远程访问功能
grant all privileges on . to 用户@’%’ identified by “密码” with grant option;
授权从数据库
grant replication slave,reload,super on . to ‘用户’@‘地址’ inentified by ‘密码’;
flush privileges;
grant 后跟权限 权限为mysql.user中表规定 @后是可远程连接的主机
选择从服务器
#查看主服务状态
show master status;
二:从服务器配置(slave)
server-id=1
#二进制文件位置
log-bin=/tmp/mysql-bin
#错误文件位置(可不写)
log-error=/tmp/mysql-error
#主从同步的数据库与主数据库相同。
replicate-do-db=xxx - mysql 下
配置master
change master to
master_host=‘主IP’,
master_user=‘用户’,
master_password=‘密码’,
master_port=3306,
master_log_file=‘mysql-bin.xxxxxx’,
master_log_pos=; (上图的position)
开启slave : start slave;
show slave status
查看slave_io_running和slave_sql_running状态
都要为YES即可