Mysql 5.5:主从复制的实现(mysql5.5主从)
MySQL 5.5 的主从复制是指MySQL数据库服务器上的一种复制数据的技术,其由一台主服务器和多台从服务器无缝复制数据构成。Mysql5.5使用它可以实现数据的实时同步和简化数据库管理,
MySQL主从复制的实现首先需要在MySQL配置文件中设置复制服务器的相关参数,如下:
1.主服务器:
“`
#Server-id复制服务器的唯一标识,必须配置
server-id=1
#Binlog相关参数,必须配置(记录日志缓存)
log_bin = /var/mysql/binlog.binlog
#主从复制相关参数,必须配置
log_slave_updates=1
2.从服务器:
#Server-id复制服务器的唯一标识,必须配置
server-id=2
#Binlog相关参数,必须配置(记录日志缓存)
log_bin = /var/mysql/binlog.binlog
#主从复制相关参数,必须配置
relay_log= /var/mysql/relay_log.relay_log
接下来就是在主服务器上的数据库授权,首先需要创建一个用于主从复制的用户,如 `replication_user` ,授权`REPLICATION SLAVE ` 权限 ,在MySQL5.5中可以通过以下SQL语句实现:
grant REPLICATION SLAVE on *.* to ‘replication_user’@’%’ identified by ‘password’;
接下来就是设置主服务器,先确定 `binlog` 位置,获取 `binlog` 文件名,查看当前 `binlog` 文件写入到什么位置,比如:
show master status;
获取当前主服务器的状态,一般包括 `filename `和 `position` 两个参数,这些参数在从服务器的配置文件中也应该配置一样的值。
最后,在从服务器上要调用下面的MySQL语句,将主服务器的 `Master_Host ` `Master_User ` 和 `Master_password` 传递给从服务器,以便从服务器能从主服务器上复制数据:
CHANGE MASTER TO
MASTER_HOST=’192.168.0.1′,
MASTER_USER=’replication_user’,
MASTER_PASSWORD=’password’,
MASTER_LOG_FILE=’binlog.00001′,
MASTER_LOG_POS= 490;
到此为止,MySQL实现主从复制就完成了。在系统上再调用下面的语句,即可看到MySQL主从复制中的状态:
SHOW SLAVE STATUS\G;
从上面的例子可以看出,MySQL可以很方便的实现主从复制,根据应用需求,MySQL也可以配置简单或高级复制功能,进行复制。可以大大提高数据库的查询性能,简化系统管理,灵活应变各种系统状况。