XtraBackup备份与恢复


XtraBackup

Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。

  • 数据量非常的大的时间用它;
  • 全量备份和恢复数据库,速度很快;
  • 增量备份和恢复,主从时从服务器可以当做备份;
  • 热备(主库开机时备份数据);
  • 冷备(关闭mysql服务进行备份)。

xtrabackup是percona开源的mysql物理备份工具。

XtraBackup支持MySQL 5.1至8.0版本的备份和恢复。具体来说,不同版本的XtraBackup对MySQL版本的支持情况如下:

  • Xtr...

阅读全文 →

MySQL视图


视图概述

视图(View)是一种虚拟存在的表。 视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图就是一条SELECT语句执行后返回的结果集。 所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。

视图相对于普通的表的优势:

  • 简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
  • 安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
  • 数据独立:一旦视图的结构确定了,可以屏蔽表结...

阅读全文 →

MySQL索引


索引概述

MySQL官方对索引的定义为:

索引(index)是帮助MySQL高效获取数据的数据结构(有序)。

索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。

如下面的示意图所示 :

一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。索引是数据库中用来提高性能的最常用的工具。

索引的结构

索引是在MySQL的存储引擎层中实现的,而不是在服务器层实现的。 所以每种存储...

阅读全文 →

MySQL中的用户权限


为什么要管理MySQL权限?

MySQL权限管理就像给数据库加了一把“电子锁”,控制谁能访问数据、能做什么操作。如果权限设置不当,可能导致数据泄露、误操作甚至被黑客攻击。比如,让一个普通员工拥有删除整个数据库的权限,就像把金库钥匙随便交给路人,风险极大。

用户和权限管理

设置密码安全级别

# root 根用户 (超级管理员)
# 用户信息表:mysql.user
FLUSH PRIVILEGES;-- 刷新权限

INSTALL PLUGIN validate_password SONAME 'validate_password.so';-- 安装并激活密码规则插件
...

阅读全文 →

MySQL基础(二)


SQL简介

SQL ( Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言,与数据直接打交道,由IBM上世纪70年代开发出来。后由美国国家标准局(ANSI)开始着手制定SQL标准,先后有SQL-86,SQL-89 , SQL-92 , SQL-99 等标准。 SQL 有两个重要的标准,分别是SQL92和SQL99,它们分别代表了92年和99年颁布的SQL标准,我们今天使用的SQL语言依然遵循这些标准。不同的数据库生产厂商都支持SQL语句,但都有特有内容。

SQL分类(四类)

DDL (数据定义语言) (Data Definit...

阅读全文 →

MySQL基础(一)


数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

一、数据库管理系统

1.1、数据存储方式

计算...

阅读全文 →

NumPy基础(二)


import numpy as np
import matplotlib.pyplot as plt 

将一个数组拆分成几个较小的数组

使用hsplit,您可以通过指定要返回的形状相同的数组的数量,或指定应在其后进行除法的列,沿其水平轴拆分数组

rg = np.random.default_rng(1)
a = np.floor(10 * rg.random((2,12)))
a
array([[5., 9., 1., 9., 3., 4., 8., 4., 5., 0., 7., 5.],
       [3., 7., 3., 4., 1., 4., 2., 2., 7....

阅读全文 →

NumPy基础(一)


简介

NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 -- 百度百科

NumPy 目前已经成为Python中用于科学计算的基础包。

NumPy提供了高性能的向量、矩阵以及多维数据结构及计算方法。

NumPy包的核心是ndarray对象。它封装了与Python原生的数据类型相同的n维数组,其中有许多操作以...

阅读全文 →

开始openEuler之旅吧!


简介

openEuler是华为开发的一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。同时,openEuler是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。

安装指南

对于想要尝试使用openEuler操作系统的同学们,特别是初次使用openEuler的同学,需要具备基础的Linux系统管理知识。(没有Linux基础的话可以跟左...

阅读全文 →