如何在 CentOS Linux 中配置 MariaDB 复制

2015-07-16 12:08:24 · 作者: · 浏览: 2

这是一个创建数据库重复版本的过程。复制过程不仅仅是复制一个数据库,同时也包括从主节点到一个从节点的更改同步。但这并不意味着从数据库就是和主数据库完全相同的副本,因为复制可以配置为只复制表结构、行或者列,这叫做局部复制。复制保证了特定的配置对象在不同的数据库之间保持一致。


备份 :复制可以用来进行数据库备份。例如,当你做了主->从复制。如果主节点数据丢失(比如硬盘损坏),你可以从从节点中恢复你的数据库。


扩展 :你可以使用主->从复制作为扩展解决方案。例如,如果你有一些大的数据库以及SQL查询,使用复制你可以将这些查询分离到每个复制节点。写入操作的SQL应该只在主节点进行,而只读查询可以在从节点上进行。


分发解决方案 :你可以用复制来进行分发。例如,你可以将不同的销售数据分发到不同的数据库。


故障解决方案 : 假如你建立有主节点->从节点1->从节点2->从节点3的复制结构。你可以为主节点写脚本监控,如果主节点出故障了,脚本可以快速的将从节点1切换为新的主节点,这样复制结构变成了主节点->从节点1->从节点2,你的应用可以继续工作而不会停机。



mysql 复制原理


开始之前,你应该知道什么是二进制日志文件以及 Ibdata1。


二进制日志文件中包括关于数据库,数据和结构的所有更改的记录,以及每条语句的执行了多长时间。二进制日志文件包括一系列日志文件和一个索引文件。这意味着主要的SQL语句,例如CREATE, ALTER, INSERT, UPDATE 和 DELETE 会放到这个日志文件中;而例如SELECT这样的语句就不会被记录,它们可以被记录到普通的query.log文件中。


Ibdata1 简单的说据是一个包括所有表和所有数据库信息的文件。


--------------------------------------分割线 --------------------------------------


--------------------------------------分割线 --------------------------------------


首先升级服务器


我们工作在centos7 服务器上


安装 MariaDB


启动 MariaDB 并启用随服务器启动


输出如下:


检查 MariaDB 状态


或者使用


输出如下:


设置 MariaDB 密码


这里 SOME_ROOT_PASSWORD 是你的 root 密码。 例如我用"q"作为密码,然后尝试登录:


输出如下:


输入 'help;' 或 '\h' 查看帮助信息。 输入 '\c' 清空当前输入语句。


让我们创建包括一些数据的表的数据库


创建数据库/模式


其中:


输出:如下


创建 Persons 表


输出如下:


插入一些数据


输出如下:


检查数据


输出如下: