>  기사  >  데이터 베이스  >  MariaDB 主从复制

MariaDB 主从复制

WBOY
WBOY원래의
2016-06-07 16:08:071202검색

MySQL Replication:NySQL复制,MySQL的复制默认为异步工作模式,mysql的复制功能是mysql内置的,装上它之后就具备了这个功能,而

MySQL Replication:NySQL复制,MySQL的复制默认为异步工作模式

mysql的复制功能是mysql内置的,装上它之后就具备了这个功能,而mysql复制是mysql实现大规模高性能应用的一个基本工具,是 mysql完成水平扩展的基本架构,为了能够应付更多的访问请求,通常情况下我们需要对服务器进行扩展,而扩展通常有两种方式:向上扩展和向外扩展;

向上扩展:scale on,也称为垂直扩展,一般是扩充服务器的内存或CPU颗数的这种就是向上扩展。

向外扩展:scale out,也称为水平扩展,比较一台服务器不够,再加一台服务器,再不够再加,这种情况就是向外扩展。

其实MySQL的的复制功能就是使用MySQL向外扩展的能力,也就是水平扩展的功能。

所谓同步的复制:首 先主服务器每更新一条数据先写到磁盘文件中,同时还要写一个到二进制日志文件中,从服务器就会到主服务器请求二进制信息保存在中继日志中,保存好后由本地 的SQL thread从中继日志应用到从服务器的本地有磁盘文件中,当这个过程完成之后再由从服务器返回确认结果给主服务器,主服务器才返回结果给客户端的。

所谓异步复制:当主服务器要写数据时,先写到本地的磁盘,同时写到二进制文件日志中,写好二进制日志文件后就把结果返回给客户端,至于从服务有没有来主服务器同步二进制日志他不关心。

注意:在做复制时双方的的MySQL要一致,如果不一致,主的要低于从的。

MySQL主从服务的工作原理图:

MariaDB 主从复制

这里还要注意,如果从服务器不断的到主服务器来请求数据,发现这些数据已经是最新的数据了,那从服务器的I/O thread将会转为睡眠状态,因为主服务器会通知,而I/O线程不会做轮循,从服务器的二进制日志文件通常是被关闭状态的,,从服务器是不允许执行写操作 的。

在 CentOS/RHEL/Scientific Linux 6 下安装 LAMP (Apache with MariaDB and PHP)

MariaDB Proxy读写分离的实现

Linux下编译安装配置MariaDB数据库的方法

CentOS系统使用yum安装MariaDB数据库

安装MariaDB与MySQL并存

Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10 

[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB 

下面来完成主从复制的基本操作步骤:

1、这里我们要有两台主机、我这里使用克隆主服务器的主机当做从服务器、首先要把虚拟主机关机才可以克隆的:

MariaDB 主从复制

MariaDB 主从复制

MariaDB 主从复制

克隆完之后我们就开机登录、确保主从服务器都正常运行了即可:

MariaDB 主从复制

MariaDB 主从复制

MariaDB 主从复制

MariaDB 主从复制

2、做主从复制最重要的一点就是双方的server-id不能相同;然而在主服务器上只需要三步:

1)就是改server-id

2)启用二进制日志

3)创建有复制权限的帐号

# vim /etc/my.cnf

MariaDB 主从复制

改好之后保存退出即可,再重启服务器,创建二进制目录:

# mkdir /data/binlogs

# chown -R mysql.mysql /data/binlogs

重启主服务器的mysql服务;

# service mysqld restart 

而后连接到主服务器上授权一个有复制权限的帐号:
# mysql -uroot -hlocalhost -p
MariaDB [hellodb]> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'172.16.251.156' IDENTIFIED BY 'replpass';
MariaDB [hellodb]> FLUSH PRIVILEGES;

更多详情见请继续阅读下一页的精彩内容:

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.