MySQL:MySQL文件结构
参数文件告诉 MySQL 实例启动时在哪里可以找到数据库文件,并且制定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还会介绍各种参数的类型。 查看 SHOW VARIABLES LIKE '%%'; SELECT * FROM GLOBAL_VARIABLES 日志文件用来记录 MySQL 实例对某种条件作出响应时写入的文件。 错误日志 (error l
MySQL:5.6升级到5.7的sql_mode
异常GROUP BY 语句报错 Error Code: 1055. Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘×××’ which is not functionally dependent on columns in GROUP BY clause; thi
MySQL:5.7升级8.0——升级检查
安装 下载检查工具https://dev.mysql.com/downloads/shell/ 选择所需要的系统版本 检查工具安装 rpm -ivh mysql-shell-8.0.33-1.el7.x86_64.rpm 检查mysqlsh版本,确定指向无误 mysqlsh --version 升级检查进行升级检查,使用如下命令 mysqlsh -- util chec
MySQL:Innodb 关键特性
插入缓冲 (Insert Buffer)Insert BufferInsert Buffer 和数据页一样,是物理页的一个组成部分。 对于非聚集索引的插入或更新操作,不是每一次直接插入到索引页中,而是先判断插入的非聚集索引页是否在缓冲池中,若在,则直接插入;若不在,则先放入到一个Insert Buffer对象中,。然后再以一定的频率和情况进行Insert Buffer和辅助索引叶子节点的 mer
MySQL:xtrabackup 恢复
备份目录解析 mysql/, performance_schema/, sys/ 下存放的是数据库文件。backup-my.cnf,备份命令用到的配置选项信息;xtrabackup_binlog_info,mysql服务器当前正在使用的二进制日志文件及至备份这一刻为止二进制日志事件的位置;xtrabackup_checkpoints,备份类型(如完全或增量)、备份状态(如是否已经为prepa
MySQL:Xtrabackup 备份
备份文件介绍 backup-my.cnf:包含了my.cnf中备份时需要的信息。ib_buffer_pool:buffer pool 中的热数据,当设置 innodb_buffer_pool_dump_at_shutdown=1 ,在关闭 MySQL 时,会把内存中的热数据保存在磁盘里 ib_buffer_pool 文件中,位于数据目录下。ibdata1:备份的共享表空间文件;xtrabac
MySQL:慢SQL(slow_log)
mysql.slow_log 表是 csv 表,没有索引。 CREATE TABLE `slow_log` ( `start_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), `user_host` mediumtext NOT NULL, `quer
MySQL:xtrabackup简介
xtrabackup是一种物理备份工具,通过协议连接到mysql服务端,然后读取并复制innodb底层的”数据块”,完成所谓的”物理备份”。 支持对innodb进行热备、增量备份、差量备份。支持对myisam进行温备,因为在备份myisam表时,会对myisam表添加读锁,而且不能对myisam表进行增量备份,每次备份myisam数据都是全量,即使名义上是增量,但是实际上仍然是全量。优点
MySQL:unblock with 'mysqladmin flush-hosts'
异常Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to HostAddress{host='xxx.xxx.xxx.xxx', port=3306, type='master'}. Host 'xxx.xxx.xxx.xxx' is blocked
MySQL:Qcache
简介查询缓存简称QC,使用查询缓冲,mysql 将查询结果存放在缓冲区中,今后对于同样的 select 语句(区分大小写),将直接从缓冲区中读取结果。 存储方式例子:select * from t1 where id=10; 100次 将 select * from t1 where id=10; 进行hash运算计算出一串hash值,我们把它称之为“SQL_ID”将存储引擎
Oracle:异常ORA-01950
异常多个界面报错,内容如下 ORA-01950: no privileges on tablespace 'XXX' 原因ORA-01950 意味着用户没有任何配额特权来分配表空间上的范围,即使该表可能已在该表空间中创建。 这是预期的行为,错误正确地保护表空间不为非特权用户分配空间。 解决 对用户unlimited权限 GRANT UNLIMITED TABLESP
MySQL:错误代码:2059
异常现象 原因在 MySQL8 之前版本中加密规则是 mysql_native_password,而在MySQL8以后的加密规则为caching_sha2_password。 解决方案方案一设置加密规则为 mysql_native_password 设置密码永不过期 alter user 'root'@'localhost' identified by
MySQL:慢查询日志
对于SQL和索引的优化问题,我们会使用explain去分析SQL语句。但是真正的企业级项目有成千上万条SQL,我们不可能从头开始一条一条explain去分析。 慢查询日志可帮助 DBA 定位可能存在的问题的 SQL 语句,从而进行 SQL 语句层面的优化 参数简介 slow_query_log:开启慢查询日志slow_query_log_file:文件位置及名字log_output:慢查询输
MySQL:5.6 升级 5.7
升级在进行 mysql 升级时,一定要把 mysql 服务停止。 准备 设置关闭属性 mysql -uroot -p -e'set global innodb_fast_shutdown=0;' 修改远程链接方式 use mysql; select user, host from user; update user set host = 'loca
PostgreSQL:Redhat 8.5 + PostgreSQL 14.5 安装
环境此处是从头学PG,为了适应两年后趋势,所以我选择的都是最新的版本 Redhat 8.5PostgreSQL 14.5 源码 下载 打开 PostgreSQL 官网 https://www.postgresql.org/,点击菜单栏上的 Download。可以根据需要点击自己所需要的的版本,此处为了更好的学习PG,不落后其他大咖,我选择下载最新版本的源码 准备 上传并解压 pgs
Oracle:ASM & 密码文件
ASM & 密码文件 例 1:ASM 中创建密码文件 orapwd file='+data/lhrracphy/PASSWORD/pwdlhrracphy' force=y dbuniquename=lhrracphy format=12 password=lhr orapwd file='+data' force=y dbuniquename=lhr
Oracle:Oracle RAC 11.2.0.4 升级为 19c
环境描述 系统:Redhat Linux 7.9源端版本:Oracle RAC 11.2.0.4目标端版本:Oracle RAC 19.15.0.0 数据同步可以使用 RMAN 备份恢复,也可以使用 DG 做数据库同步,此处不再赘述,总之建议做异机升级,然后在目标端机器我们会将 11g 环境升级到 19c,下面我将详细说明升级过程 11g 升级 grid、oracle 两个节点分别执行此处
Oracle:Redhat 7 + Oracle RAC 11g 安装 bug 总结
由于最近有接触一些迁移项目,所以在搭建 DG 的过程中,难免会遇到一些场景需要在 Redhat 7 下安装 Oracle 11g 的 RAC,此处特意整理了一下所遇到的问题,分享出来 安装 GRID 前,处理 ohasd 问题 编辑 ohasd vim /usr/lib/systemd/system/ohas.service [Unit] Description=Oracle H
Oracle:优化方法总结(关于连表查询)
循环方法简介nested loops join嵌套循环连接是一种两个表做表连接时依靠两层嵌套循环得到连接结果集的表连接方法。 嵌套循环连接的优缺点及适用场景: 如果驱动表所对应的驱动结果集的记录数较少,同时在被驱动表的连接列存在唯一性索引(或者在被驱动表的连接列存在选择性很好的非唯一性索引),此时嵌套循环连接的执行效率非常高;如果驱动表所对应的驱动结果集的记录数很多,即使在被驱动表的连接列
Oracle:SCN
定义SCN 在 Oracle 的文档上以多种形式出现,一种是 System Change Number,另一种是 System Commit Number,在大多数情况下,Systems Change Numbers 的定义更为确切。 SCN 是数据库中非常重要的一个数据结构,用以标识数据库在某个确切时刻提交的版本。在事务提交时,它被赋予一个唯一的标示事务的 SCN。SCN 同时被作为 Orac