![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 85
运维仙人
目前在做大数据运维,会点python/java/go,不定时分享所见,所学,所踩的坑~
展开
-
MySQL查询优化技巧和10个案例展示
以下案例仅为 MySQl 查询优化的冰山一角,实际应用中可能需要根据具体的数据模型、查询模式和业务需求进行更为深入的优化。通常,优化包括选择正确的查询策略、创建和维护适当的索引、分析和调整查询执行计划、以及考虑缓存和数据结构的设计等多个方面。通过持续的学习和实践,可以逐步提高 MySQL 数据库的查询效率,为应用系统带来更好的性能和用户体验。EXPLAIN 可以帮助我们了解查询语句的执行计划,找出潜在的性能瓶颈。仅检索所需的列可以减少数据传输量,提高查询效率。为查询频繁的列创建索引可以显著提高查询速度。原创 2024-02-06 00:05:29 · 1256 阅读 · 0 评论 -
DBA技术栈MongoDB: 数据增改删除
该博文主要介绍mongoDB对文档数据的增加、更新、删除操作。原创 2024-01-21 21:22:06 · 984 阅读 · 0 评论 -
DBA技术栈MongoDB: 索引创建和查询优化
MongoDB可以在一个集合上建立一个或多个索引,而且必须为在字段_id建立一个索引,建索引的目的与关系数据库一样,就是为了提高对数据库的查询效率;一旦索引创建好,MongoDB会自动地根据数据的变化维护索引,如果索引太大而不能全部保存在内存中,将被移到磁盘文件上,这样会影响查询性能,因此要时刻监控索引的大小,保证合适的索引在内存中;监控一个查询是否用到索引,可以在查询语句后用explain命令或profile()方式进行监控。原创 2024-01-20 22:48:56 · 1466 阅读 · 0 评论 -
DBA技术栈MongoDB:简介
MongoDB是一个可扩展、开源、表结构自由、用C++语言编写且面向文档的数据库,旨在为Web应用程序提供高性能、高可用性且易扩展的数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中 功能最丰富、最像关系数据库的NoSQL数据库;它支持的查询语言非常强大,其语法有 点类似于面向对象的查询语言,可以实现类似关系数据里单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB是一个面向文档的数据库,不支持关系数据库中的join操作和事务。原创 2024-01-19 00:23:11 · 1434 阅读 · 0 评论 -
DBA技术栈(三):MySQL 性能影响因素
大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的大部分数据操作都是通过数据库管理软件所提供的相关接口来完成的。所以数据库管理软件也就很自然的成为了数据库应用系统的性能瓶颈所在,这是当前业界比较普遍的一个看法。数据库有使用场景的适配性,不能认为关系型数据库是万能的。比如大批量数据的离线报表,应借助hive离线数仓去解决,设计到视频/图片等数据可以借助hbase或是图数据库等。原创 2024-01-15 23:07:09 · 1464 阅读 · 0 评论 -
postgresql数据库报“connections on Unix domain socket “/tmp/.s.PGSQL.5432“?”
*二 .pg_hba.conf: 配置缝合条件的IP机器访问数据库服务.每条记录声明一种连接类型,一个客户端,一个ip地址范围,一个数据库名,一个用户名,以及匹配这些参数的认证方法.**hostssl:匹配使用TCP/IP的SSL链接,必须使用SSL加密链接,且要使用这个选项,编译服务器时必须打开这个SSL支持,,启动服务器时必须打开这个SSL配置选项.local: 匹配通过的UNIX域套接字的链接认证,默认为UNIX域套接字.**一.postgresql.conf: 配置参数文件**原创 2019-01-30 19:23:30 · 21503 阅读 · 3 评论 -
SQL优化小技巧
尽量避免使⽤where 1=1,优化:⽤代码拼接sql,需要where的地⽅加where,需要and的地⽅加and。尽量避免使⽤游标,因为游标的效率较差,如果游标操作的数据超过1万⾏,那么就应该考虑改写。唯⼀索引可以确保每⼀⾏数据的唯⼀性,通过使⽤索引,可以在查询的过程中使⽤优化隐藏器,提⾼系统的性。在使⽤索引字段作为条件时,如果该索引是复合索引,那么必须使⽤到该索引中的第⼀个。才能保证系统使⽤该索引,否则该索引将不会被使⽤,并且应尽可能的让字段顺序与索引顺序相⼀致。原创 2024-01-11 23:09:37 · 436 阅读 · 0 评论 -
DBA技术栈(二):MySQL 存储引擎
上个业余的图:MyISAM 存储引擎是 MySQL 默认的存储引擎,也是目前 MySQL 使用最为广泛的存储引擎之一。他的前身就是我们在 MySQL 发展历程中所提到的 ISAM,是 ISAM 的升级版本。在 MySQL最开始发行的时候是 ISAM 存储引擎,而且实际上在最初的时候,MySQL 甚至是没有存储引擎这个概念的。原创 2024-01-04 22:43:31 · 1497 阅读 · 0 评论 -
DBA技术栈(一):Mysql简介和架构基本组成
MySQL 是由 MySQL AB 公司(目前已经被 SUN 公司收归麾下)自主研发的,目前 IT 行业最流行的开放源代码的数据库管理系统之一,它同时也是一个支持多线程高并发多用户的关系型数据库管理系统。MySQL 数据库以其简单高效可靠的特点,在最近短短几年的时间就从一个名不见经传的数据库系统,变成一个在 IT 行业几乎是无人不知的开源数据库管理系统。从微型的嵌入式系统,到小型的 web 网站,至大型的企业级应用,到处都可见其身影的存在。原创 2024-01-03 08:21:24 · 1583 阅读 · 0 评论 -
mysql的基本操作
1.左连接(左联查询 left join ) 以左表为主,右表为辅,完整查询左表所有数据,右表没有的补null。2.右连接(右联查询 right join ) 以右表为主,左表为辅,完整查询右表所有数据,左表没有的补null。内连接 : (inner join ) -> 两表或者多表满足条件的所有数据查询出来(两表之间的共有数据)group by 字段 对当前字段进行分类 , by后面接什么字段,select 就搜什么字段。limit m,n m代表从第几条数据进行查询,0代表第一条,n代表的查询几条。转载 2023-03-07 12:44:45 · 68 阅读 · 0 评论 -
数据库中DML、DDL、DCL的含义及区别
DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用;VB与数据库结合,可以实0现复杂、繁琐数据的一键执行计算,并且可以将结果实时保存到数据库中,而且可以方便的导出数据计算结果文件。有SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言;转载 2023-02-03 23:28:14 · 1099 阅读 · 0 评论 -
Python连接Postgres/Mysql/Mongo数据库基本操作
## 导入psycopg2包import psycopg2## 连接到一个给定的数据库conn = psycopg2.connect(database="zabbix", user="zabbix",password="zabbix", host="127.0.0.1", port="5432")## 建立游标,用来执行数据库操作cursor = conn.cursor()## 执行SQL命令#cursor.execute("CREATE TABLE test_conn(id int, na原创 2021-06-29 08:36:23 · 1235 阅读 · 6 评论 -
不能错过的MYSQL上手总结
前言:工作过程经常接触到MYSQL数据库,经过了大量实践之后,通过理论来夯实一下知识体系。一、MySQL是什么?Mysql是一种关系型数据库。总的来说 MySQL 主要有以下特性。(1)速度,运行速度快(2)价格,MySQL 对多数个人用户来说是免费的(3)容易使用,与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习(4)可移植性,能够工作在众多不同的系统平台上 例如 Windows Linux, UNIX Mac OS(5)丰富的接口,提供了用于 ++、 iffel Java .原创 2021-06-13 00:39:54 · 1151 阅读 · 3 评论 -
5分钟认识数据库
什么是数据库?数据库是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联, 反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。数据库的概念诞生于 60 年前,随着信息技术和市场的快速发展 数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来一场巨大的革命。数据库的发展大致划分为人工管理阶段、文件系统阶段 数据库系统阶段和高级数据库阶段。其种类大概有3种,即层次式数据库、网络式数据库和关系式数据库。不.原创 2021-06-13 00:14:17 · 481 阅读 · 2 评论 -
MySQL数据库备份【2】
背景:之前介绍了mysql数据库在本机备份之后通过rsync软件将备份数据同步到其他机器,但这种备份方式占用数据存储。现在用单独的文件服务器作为备份的客户端,在文件服务器上连接mysql进行数据备份,从而实现了“异地容灾”备份。在数据库服务器完全宕机的情况下,能够根据异机保存的备份数据实现数据恢复,从而降低对用户影响。使用方法:将tar包解压到某个目录下(建议直接解压到/home目录下)。tar -zxvf mysql-backup-beliver.tar.gz -C /homecd /home/原创 2020-11-20 16:11:27 · 134 阅读 · 0 评论 -
【记录】Centos7.4环境下一键安装Redis-5.0.5
背景:为了测试最新的Redis,于是尝试安装了Redis服务,并且制作了一键暗转脚本:原创 2020-08-03 23:18:30 · 206 阅读 · 0 评论 -
(Linux)Postgres10版本主从复制实现数据迁移
操作系统:Centos7.4主节点:docker-slave-79101从节点:docker-slave-79102注意主从节点的安装路径要保持一致!主节点操作[root@docker-slave-79101 ~]# lltotal 95280-rw-------. 1 root root 1831 Jul 16 16:54 anaconda-ks.cfgdrwxr-xr-x. 3 root root 107 Aug 3 11:36 Postgres-10.12.1v-2原创 2020-08-03 18:04:02 · 358 阅读 · 0 评论 -
Postgres-12版本数据库主从模式部署实现数据迁移
背景:公司要求要进行数据库迁移,但是目前已有大量用户使用系统,采用之前方案:PG数据库备份和迁移,对用户和开发人员影响比较大,于是采用主从模式进行数据迁移。该方案也是采用三步骤的方式:部署数据库主从数据库配置文件修改主从数据库切换环境说明:操作系统:Centos7.4 x86主数据库:docker-slave-79101 (主节点可读和写)从数据库:docker-slave-79102(只能读)部署数据库(请参照:PG数据库部署)主节点操作- 创建具有复制操作的数据库用户[原创 2020-08-02 21:35:57 · 1008 阅读 · 0 评论 -
CentOS7.4系统下Postgres12版本数据库编译安装分享
编译安装的步骤主要分部分:安装依赖包编译安装设置环境变量- 安装依赖包rpm -ivh perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake --nodeps --force安装postgrestar -zxf postgresql-12.3.tar.gzcd原创 2020-08-01 17:16:01 · 452 阅读 · 1 评论 -
(Linux环境)MySQL数据库定时备份
最近遇到MySQL数据库备份的问题,其实备份可以直接备份数据库数据目录,但是这个方法比较困难,得停数据库才能备份。于是写了shell脚本,采用for循环备份MySQL里面的所有库,然后用rsync软件将备份数据同步到其他服务器上实现异地备份,保留7天的备份数据。脚本展示如下:#!/bin/bash#date 2020-04-21#author by believer #discription: This script use to backup mysql data and send to rem.原创 2020-05-20 22:14:00 · 185 阅读 · 0 评论 -
(Linux环境)postgres定时备份和数据迁移
之前介绍通过拷贝pg数据库文件迁移的方式详情看文章:postgresql数据库迁移(拷贝数据库文件方式迁移),这种方式存在弊端是必须将旧库和新库停掉,这会对用户影响比较大。最近由于原有的服务器性能无法满足现有环境的使用要求,需将业务上的pg库迁移到性能更好的服务器上。这里讨论的是迁移数据,pg库安装暂时忽略,会在其他文章上介绍。另外,为了避免数据库使用受到影响,这里用定时备份的数据迁移到新的数据库上去。文章主要分两部分:(1)、备份pg数据,定时备份脚本;(2)、将备份数据迁移到新的数据库上。#一原创 2020-06-27 11:45:12 · 954 阅读 · 0 评论 -
Postgresql学习(1)【菜鸟教程学习】
在数据库术语里,PostgreSQL使用一种客户端/服务器的模型。一次PostgreSQL会话由下列相关的进程(程序)组成:一个服务器进程,它管理数据库文件、接受来自客户端应用与数据库的联接并且代表客户端在数据库上执行操作。 该数据库服务器程序叫做postgres。那些需要执行数据库操作的用户的客户端(前端)应用。客户端应用可能本身就是多种多样的:可以是一个面向文本的工具, 也可以是一个图...原创 2019-10-28 21:18:31 · 1797 阅读 · 0 评论 -
MySQL数据库知识重构(1)
平时工作会用到mysql数据,但是没有对知识点进行系统的学习,知识比较零散。所以为了将mysql吃透,方便以后工作。从现在起,开始知识点重构的旅程。MySQL数据库?MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并...原创 2019-10-28 21:05:15 · 462 阅读 · 0 评论 -
转载:oracle移动数据文件
1.连接到数据库[oracle@linux]$ ./sqlplus /nologSQL> conn / as sysdba查看数据文件位置SQL> select file_name from sys.dba_data_files;或SQL> select name from v$datafile;FILE_NAME/oradata/PMPTGDB/users...转载 2019-03-25 18:56:35 · 84 阅读 · 0 评论 -
ORA-32001: write to SPFILE requested but no SPFILE specified at startup
在执行数据更改归档日志路径的时候发生了类似的报错,借鉴了该方法解决了问题。SQL> alter system set smtp_out_server='smtp.126.com' scope=both;alter system set smtp_out_server='smtp.126.com' scope=bothERROR at line 1:ORA-32001: write ...转载 2019-01-30 19:36:47 · 229 阅读 · 0 评论