1. 什么是数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。简单的来说就像是一个大型的衣柜,你所有春夏秋冬的衣服都被统一放在了一个衣柜里,然后分类,分季节的有序摆放好。数据库的优点重点在于体量足够的大,一般的数据存储移动硬盘完全就能解决我们的需求,当在大体量数据计算和存储上,数据库的优势就体现出来了。
2. 数据库如何运行
数据库里面放着数据,既然说到数据库,那么数据库是怎么来运行的呢?SQL是用来操作数据库里数据的工具。
数据库里面放着数据,SQL是用来操作数据库里数据的工具。
file之后回到我们衣柜的原理上,当你把衣服存放在衣柜里,当你想要穿一件衣服的时候,只需要按照你的想法来进行检索就能找到你要的答案。
说到数据库,数据库有一个非常重要的功能就是读写分离。
GaussDB(for MySQL)支持直接挂载只读节点,用于分担主节点读取压力。
GaussDB(for MySQL)的主节点和只读节点都具有独立的连接地址,每个GaussDB(for MySQL)实例最多支持创建15个只读节点。
用户只需通过添加只读节点的个数,即可不断扩展系统的处理能力,无需更改应用程序。
下面介绍一个基本场景。在工作当中有的时候会因为数据量大,导致单个数据库已经不足以支撑业务需求,因此常常将数据库的读和写的功能分离开,这样读取数据在一个数据库上,写数据在一个数据库上,就减少了单个数据库的工作,下面就描述一下具体步骤
实验环境
两台虚拟机
安装mysql mariadb mariadb-server
开启服务
systemctl start mariadb
配置远程访问的用户
mysql -uroot -p 进到数据库(root的默认密码为空所以输入命令后直接回车就行)
use mysql
GRANT ALL PRIVILEGES ON . TO ‘wl’@’%'IDENTIFIED BY ‘123’ WITH GRANT OPTION; (设置远程登陆用户wl ,IP为本机IP 密码为123)
主数据库设置:
vim /etc/my.cnf
在[mysqld]标签下面增加以下代码:
server-id=1
log-bin=master-bin
重启服务
systemctl restart mariadb.service
mysql -uroot -p 进到数据库
在主服务器的数据库上查询主服务状态
SHOW MASTER STATUS
这里会出现日志文件的File和position,这个在后面会用的到
从数据库设置
1.用vim打开my.cnf:
vim /etc/my.cnf
2.在[mysqld]标签下面增加以下代码:
server-id=2 #这个id必须不能和主数据库相同
read-only=on #设置该数据库是只读状态
relay-log=relay-bin
3.重启服务
systemctl restart mariadb.service
4.进入到数据库
mysql -uroot -p
5.执行下面语句,
change master to master_host=‘192.168.0.220’,master_user=‘wl’,master_password=‘123’, master_log_file=‘master-bin.000003’,master_log_pos=2077;
(master_host:主数据库IP
master_user:主数据库所设置的远程连接用户名
master_password:主数据库所设置的远程连接密码
master_log_file=‘master-bin.000003’:所生成的二进制日志文件,在上一张图片中有显示)
master_log_pos=2077:二进制日志文件的端口号(上张图片有显示)
启动slave同步(在数据库中)
START SLAVE;
6.在slave服务器上查看slave同步的状态
show slave status\G
当图片中的内容为YES是说明两个数据库同步设置完成
你可以利用mysql工具进行测试
下图是我用mysql链接的两个数据库的图片
其中master是主数据库,slave是从数据库,两个数据库进行数据同步是根据二进制的日志文件进行的,一开始的状态两个数据库必须保持数据库名字相同,和表的名字相同,否则会出现找不到数据库的错误
出现这个错误的主要原因是因为当时的日志文件只保存了当时的数据库状态,将当下的两个数据库进行了连接,当主数据库新增加一个数据库时,从数据库无法匹配到主数据库,就出现了找不到数据库的错误
解决方法:
1 将主数据库新建的数据库删除,在原有的数据库上进行增删操作,再重新执行上面的操作
2 在从数据库中增加与主数据库相同的数据库,再重新执行上面的操作
一、华为云数据库的三大核心优势
针对华为云数据库的优势,专家总结了3点:服务企业的基因、全面均衡的产品、优秀的软硬件结合底层支撑。
1****、服务企业扎根于华为的基因中
与如今许多以个人业务起家的互联网公司不同,华为自诞生起30多年以来的时间一直扎根于企业领域,在ToB领域有着相当丰富的服务经验。
比如在企业数据存储上,就有云盘和本地盘两种存储方式,其中本地盘在24x365长时间运行下很容易出问题,云盘的数据可靠性更高。多年经验使华为深知对企业而言数据可靠性是最重要的一环,所以华为云数据库服务方案选型阶段就选择了云盘存储,而许多云商最初存储数据使用的是本地盘,随后才提供云盘存储。细节之处以小见大,华为奉行“以客户为中心”,华为云正是践行这一企业文化的最佳示例。
2****、全面均衡的产品
与许多领域不同的是,云服务讲究的是“木桶理论”,此前就出现过云商丢失客户千万级数据的事故,一旦出现这种事故,对于企业客户而言,其结果是灾难性的。
而华为是真的下大力气做云服务,提供从软件到硬件全面且均衡的企业级服务。以数据库为例,软件上,华为在国内外有多个研究所和实验室,主攻数据库架构、数据库内核、数据库分布式技术研究;硬件方面,华为是国内毫无疑问的领导者之一,目前华为有国内领先的专门从事数据库研发的工程师团队,研发投入规模国内也是首屈一指。出众的一软一硬,不仅保证华为云顺利腾飞,也为客户提供了更全面也更可靠的云数据库服务。
3****、优秀的软硬件结合底层支撑
还是以云数据库为例,它分为三部分数据库、算力、存储。在这三方面,华为云都做到他人难以企及的高度。数据库方面,华为具有数据库研究室级别的内核与架构设计能力;算力方面,基于“鲲鹏+昇腾”的自研芯片,多样化组合让算力有巨大的突破;存储方面华为很早的时候就开发新一代的存储架构,实现数据的高可靠性。
基于在数据库、算力、存储三方面的技术积累与全栈优势,华为得以在云原生数据库TaurusDB和GeminiDB产品的容量和性能上实现全新的高度。
服务企业的基因、全面均衡的产品、优秀的软硬件结合这三个核心原因让华为云数据库获得相当高的起点与优势。
file本文由博客群发一文多发等运营工具平台 OpenWrite 发布
网友评论