这是一个创建数据库重复版本的过程。复制过程不仅仅是复制一个数据库,同时也包括从主节点到一个从节点的更改同步。但这并不意味着从数据库就是和主数据库完全相同的副本,因为复制可以配置为只复制表结构、行或者列,这叫做局部复制。复制保证了特定的配置对象在不同的数据库之间保持一致。
Mariadb 复制概念
备份 :复制可以用来进行数据库备份。例如,当你做了主->从复制。如果主节点数据丢失(比如硬盘损坏),你可以从从节点中恢复你的数据库。
扩展 :你可以使用主->从复制作为扩展解决方案。例如,如果你有一些大的数据库以及SQL查询,使用复制你可以将这些查询分离到每个复制节点。写入操作的SQL应该只在主节点进行,而只读查询可以在从节点上进行。
分发解决方案 :你可以用复制来进行分发。例如,你可以将不同的销售数据分发到不同的数据库。
故障解决方案 : 假如你建立有主节点->从节点1->从节点2->从节点3的复制结构。你可以为主节点写脚本监控,如果主节点出故障了,脚本可以快速的将从节点1切换为新的主节点,这样复制结构变成了主节点->从节点1->从节点2,你的应用可以继续工作而不会停机。
复制的简单图解示范
开始之前,你应该知道什么是
二进制日志文件以及 Ibdata1。二进制日志文件中包括关于数据库,数据和结构的所有更改的记录,以及每条语句的执行了多长时间。二进制日志文件包括一系列日志文件和一个索引文件。这意味着主要的SQL语句,例如CREATE, ALTER, INSERT, UPDATE 和 DELETE 会放到这个日志文件中;而例如SELECT这样的语句就不会被记录,它们可以被记录到普通的query.log文件中。而
Ibdata1 简单的说据是一个包括所有表和所有数据库信息的文件。--------------------------------------分割线 --------------------------------------在 CentOS/RHEL/Scientific Linux 6 下安装 LAMP (Apache with MariaDB and PHP) http://www.linuxidc.com/Linux/2013-07/86755.htmMariaDB Proxy读写分离的实现 http://www.linuxidc.com/Linux/2014-05/101306.htmLinux下编译安装配置MariaDB数据库的方法 http://www.linuxidc.com/Linux/2014-11/109049.htmCentOS系统使用yum安装MariaDB数据库 http://www.linuxidc.com/Linux/2014-11/109048.htm安装MariaDB与MySQL并存 http://www.linuxidc.com/Linux/2014-11/109047.htmUbuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10 http://www.linuxidc.com/Linux/2014-11/109471.htm
[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB http://www.linuxidc.com/Linux/2014-12/110048htm--------------------------------------分割线 --------------------------------------
主服务器配置
首先升级服务器
sudo yum install update -y && sudo yum install upgrade -y
我们工作在centos7 服务器上
sudo cat /etc/RedHat-releaseCentOSLinux release 7.0.1406(Core)
安装 MariaDB
sudo yum install mariadb-server -y
启动 MariaDB 并启用随服务器启动
sudo systemctl start mariadb.servicesudo systemctl enable mariadb.service
输出如下:
ln -s "/usr/lib/systemd/system/mariadb.service""/etc/systemd/system/multi-user.target.wants/mariadb.service"
检查 MariaDB 状态
sudo service mariadb status
或者使用
sudo systemctl is-active mariadb.service
输出如下:
Redirecting to /bin/systemctl status mariadb.servicemariadb.service -MariaDB database serverLoaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled)
设置 MariaDB 密码
mysql -u rootmysql>use mysql;mysql> update user set password=PASSWORD("SOME_ROOT_PASSWORD")whereUser="root";mysql> flush privileges;mysql>exit
这里 SOME_ROOT
_PASSWORD 是你的 root 密码。 例如我用"q"作为密码,然后尝试登录:
sudo mysql -u root -pSOME_ROOT_PASSWORD
输出如下:
Welcome to the MariaDB monitor.Commandsendwith;or g.YourMariaDB connection id is5Server version:5.5.41-MariaDBMariaDBServerCopyright(c)2000,2014,Oracle,MariaDBCorporationAband others.
输入 "help;" 或 "h" 查看帮助信息。 输入 "c" 清空当前输入语句。让我们创建包括一些数据的表的数据库创建数据库/模式
sudo mysql -u root -pSOME_ROOT_PASSWORDmysql> create database test_repl;
其中:
test_repl -将要被复制的模式的名字
输出:如下
Query OK,1 row affected (0.00 sec)
创建 Persons 表
mysql>use test_repl;CREATE TABLE Persons(PersonIDint,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255));
输出如下:
mysql>MariaDB[test_repl]> CREATE TABLE Persons(->PersonIDint,->LastName varchar(255),->FirstName varchar(255),->Address varchar(255),->City varchar(255)->);Query OK,0 rows affected (0.01 sec)
插入一些数据
mysql> INSERT INTO Persons VALUES (1,"LastName1","FirstName1","Address1","City1");mysql> INSERT INTO Persons VALUES (2,"LastName2","FirstName2","Address2","City2");mysql> INSERT INTO Persons VALUES (3,"LastName3","FirstName3","Address3","City3");mysql> INSERT INTO Persons VALUES (4,"LastName4","FirstName4","Address4","City4");mysql> INSERT INTO Persons VALUES (5,"LastName5","FirstName5","Address5","City5");
输出如下:
Query OK,5 row affected (0.00 sec)
检查数据
mysql>select*fromPersons;
输出如下:
+----------+-----------+------------+----------+-------+|PersonID|LastName|FirstName|Address|City|+----------+-----------+------------+----------+-------+|1|LastName1|FirstName1|Address1|City1||1|LastName1|FirstName1|Address1|City1||2|LastName2|FirstName2|Address2|City2||3|LastName3|FirstName3|Address3|City3||4|LastName4|FirstName4|Address4|City4||5|LastName5|FirstName5|Address5|City5|+----------+-----------+------------+----------+-------+
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2015-05/117865p2.htm
Oracle数据库中NUMBER(x,y)数据类型详解解决MySQL中文乱码的问题相关资讯 MariaDB MariaDB 复制
- Ubuntu 16.04 Dockerfile 安装 (今 10:03)
- MariaDB 10.1.11 发布下载,MySQL (02月04日)
- MariaDB 10.0.23 发布下载 (12/21/2015 20:50:21)
| - CentOS 7.0 使用 yum 安装 MariaDB (03月03日)
- MariaDB 10.1.10 发布下载,MySQL (12/26/2015 10:55:29)
- CentOS 6.6下编译安装MariaDB-10.0 (12/21/2015 19:25:47)
|
本文评论 查看全部评论 (0)