您的位置:首页 > 数据库 > MySQL

MySQL主从同步设置

2015-10-15 16:11 411 查看
经研究MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步、主从模式、互相备份模式的功能。

下面介绍如何实现主从单向同步:

1.在master上创建给slave一个能有REPLICATIONSLAVE权限的用户

GRANTREPLICATIONSLAVEON*.*TO'backup'@'10.10.8.112'IDENTIFIEDBY'1234';

2.在master的/etc/my.cnf进行配置,找到[mysqld]标志,并把配置写在下面,mysql重启时会获取mysqld标志的配置信息,配置如下:

server-id=1设置服务ID为1,以此来做唯一标志

log-bin=mysql-bin二进制的log文件

binlog-do-db=hupunac需要同步的数据库如果有不需要同步的数据库可以用binlog_ignore_db,两个都不设置,则全部同步

auto_increment_offset=1避免主键冲突重新设置自增主键的初始值

auto_increment_increment=2自增主键的增量

expire_logs_days=1设置log过期时间为两天,只保留两天的log日志

log_bin_trust_function_creators=1给函数赋值权限

3.导出master数据库在mysqldump命令上加锁

4.设置完成后重启master数据库服务

5.查看主机的状态show_master_status接收主机的log_bin文件值放在一个文件里

6.在slave的/etc/my.cnf进行配置,配置如下:

server-id=2设置服务ID为2,唯一标志,和master不要重复

auto_increment_offset=2自增主键的初始值

auto_increment_increment=2自增主键的增量

7.导入master数据库到slave

8.重启slave

9.在slave输入命令连接主机读取log_bin文件

stopslave;

changemastertomaster_host='$MASTER_HOST',master_user='backup',master_password='iman@hupu.net',master_port=3306,master_log_file='$LOG_BIN',master_log_pos=106,MASTER_CONNECT_RETRY=60;

startslave;

这样数据库同步配置就已经完成好了。


查看主机和副机是否配置好:

sql命令:showvariableslike'server_id';

showmasterstatus;

showslavestatus;

	SELECTDISTINCTCONCAT('User:''',user,'''@''',host,''';')ASqueryFROMmysql.user;查看用户

	dropuser用户名@'localhost';删除用户

	showbinarylogs;查看日志

如此就完成了数据库的主从同步。

注意:当取消双击热备功能时,只需要清除这些配置信息然后重启数据库即可,当主服务器重启时,为防止出现主从不同步现象,从服务器也应该被重启
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: