![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
黄宝康
这个作者很懒,什么都没留下…
展开
-
canal环境安装及springboot同步实验
简介canal是阿里针对mysql数据同步的一个工具,目前只支持mysql数据库。官网地址:https://github.com/alibaba/canal搭建教程之前我的个人博客讲解过mysql主从的搭建教程,其实canal的原理类似,也是基于mysql的日志分析。如下是官网的原话:canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议MySQL master 收到 dump 请求,开始推送 binary l原创 2021-05-12 15:07:34 · 421 阅读 · 0 评论 -
shardingproxy搭建
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程搭建教程shardingproxy可以实现数据库的分库分表,如下为搭建教程我们使用docker搭建一主一从的mysql主节点跑3307端口从节点跑3317端口提前建好相关目录。mkdir /shardproxy/{master,slave}/mysql/{log,data,conf} -pdocker run -p 3307:3306 --name mysql-master \-v /shar原创 2021-04-01 10:59:36 · 721 阅读 · 0 评论 -
mysql8远程授权问题
mysql8,需要创建新用户进行授权,直接用root授权报错;用原来的方式,报错信息如下:原来的方式grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;官网文档说明原文:Using GRANT to modify account properties other than privilege assignments. This includesauthentication, SSL,原创 2021-01-22 16:46:04 · 316 阅读 · 0 评论 -
oracle修改数据库字符集
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程第一次遇到这个问题,是我在迁移数据库时,遇到两个数据库的编码不同,在impdp导入的时候报了ORA-02374 ORA-12899 ORA-02372错误。错误示例:ORA-02374: conversion error loading table "QBJMES"."PROJECT"ORA-12899: value too large for column PROJECT_SPEC (actual: 1原创 2021-01-21 16:45:47 · 368 阅读 · 0 评论 -
数据源druid参考配置
<?xml version="1.0" encoding="UTF-8"?><druid> <!-- 基础配置 驱动、URL、用户名、密码 --> <property name="driverClassName">com.mysql.jdbc.Driver</property> <property name="url"> jdbc:mysql://localhost:3307/itp?autoReconnect=true&原创 2020-12-24 15:21:43 · 321 阅读 · 0 评论 -
Oracle的启动、关闭原理,pfile和spfile的转换,只读模式
1、启动经过三个阶段:启动实例(unmount)、装载数据库(mount)、打开数据库(open)。第一个阶段:oracle启动实例的时候,会读取一个参数文件,这个文件可以是PFILE也可以是SPFILE,这两个文件是一样的,一个是文本文件,一个是二进制文件,根据参数文件的配置,分配相应大小的一片内存区域叫系统全局去SGA,然后启动一系列的后台进程,这些内存和进程合起来组成实例。启动完成后,数据...原创 2019-04-30 09:30:40 · 1572 阅读 · 0 评论 -
oracle内存管理的相关初始化参数
MEMORY_TARGET,从操作系统的角度,指定oracle所能使用的最大内存。它是动态参数,其值不能大于MEMORY_MAX_TARGET。MEMORY_MAX_TARGET,数据库内存的最大值。SGA_TARGET,SGA的大小SGA_MAX_SIZE,控制数据库启动和运行时,SGA可以达到的最大值,该参数不能被动态改变。PGA_AGGREGATE_TARGET,PGA的大小。...原创 2019-05-08 13:56:59 · 257 阅读 · 0 评论 -
Percona Data Recovery Tool 单表恢复
https://www.cnblogs.com/gomysql/p/3586822.html转载 2019-04-25 15:02:58 · 443 阅读 · 0 评论 -
Mysql ibd文件恢复
背景mysql在使用的过程中,难免遇到数据库表误操作,基于此,作者亲力亲为,对mysql数据表ibd文件的恢复做以下详细的说明,对开发或者初级dba提供一定的指导作用,博客中如若存在相关问题,请指明,相互学习,共同进步。恢复说明1、创建数据库(随意创建),create database yygk2、创建数据表备注:row_format要和ibd文件的row_format一致,否则,会提...转载 2019-04-25 16:27:02 · 2384 阅读 · 3 评论 -
oracle扩展表空间
在系统运行一段时间后,表空间已经耗尽,只有扩展表空间,才能继续在表空间上添加表数据。一、手动添加表空间中数据文件的大小alter database datafile '数据文件位置' resize 1000M把表空间中数据文件的尺寸扩大到1000MB.下次表空间用完,还得手工扩大,不推荐。二、把表空间中的数据文件设置自动扩展alter database datafile '数据文件...原创 2019-04-30 15:02:49 · 8902 阅读 · 0 评论 -
ORA-01000: 超出打开游标的最大数 问题的分析和解决
症状:系统运行了一段时间报错:java.sql.SQLException: ORA-01000: 超出打开游标的最大数step 1:查看数据库当前的游标数配置slqplus: show parameter open_cursors;step 2:查看游标使用情况:select o.sid, osuser, machine, count(*) num_cursfrom v$open_...转载 2019-04-18 13:47:22 · 1078 阅读 · 0 评论 -
oracle表空间组
创建临时表空间mytemp1SQL> create temporary tablespace mytemp1 tempfile '/u01/app/oraData/temp/mytemp1.dmp' size 10M;Tablespace created.把mytemp1表空间放入到表空间组hbk_groupSQL> alter tablespace mytemp1 tab...原创 2019-05-06 09:28:31 · 732 阅读 · 0 评论 -
oracle定时备份脚本
#!/bin/bash# 设置环境变量export ORACLE_HOME=/u01/apps/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin:/home/...原创 2019-05-08 21:59:51 · 2658 阅读 · 0 评论 -
oracle默认临时表空间
创建用户时,应该给用户指定一个临时表空间,用户的排序段存放在该表空间。如果没有给用户指定临时表空间,oracle会自动给这个用户指定一个临时表空间,这个临时表空间叫做默认临时表空间。如果系统表空间是本地管理的,则必须定义一个默认的临时表空间,SYSTEM表空间不能作为默认临时表空间;如果系统表空间是字典管理的,则不必定义一个默认临时表空间,SYSTEM表空间可以作为默认临时表空间,但是,一旦用...原创 2019-05-05 15:00:03 · 7122 阅读 · 0 评论 -
oracle临时数据文件
临时数据文件属于临时表空间。跟常规的数据文件有如下差异1、临时数据文件总是被设置成nologging2、不能使临时数据文件只读3、不能使用alter database创建临时数据文件4、介质恢复(Media Recovery)不能恢复临时数据文件5、创建临时数据文件时,oracle并不总是给它分配空间,直到需要使用这些空间。6、临时数据文件的信息并不是存在数据字典DBA_DATA_FI...原创 2019-05-05 14:01:26 · 1151 阅读 · 0 评论 -
yum安装mysql
yum源安装下载并安装mysql官方的yum repositorywget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmyum -y install mysql57-community-release-el7-10.noarch.rpmyum -y install mysql-com...原创 2019-04-28 10:25:04 · 285 阅读 · 0 评论 -
mysql删除表数据恢复
实验模拟该实验必须是mysql开启了binlog的情况。binlog日志,即binary log,是二进制日志文件。它有两个作用,一是增量备份,即只备份新增的内容;二是用于主从复制等,即主节点维护了一个binlog日志文件,从节点从binlog中同步数据。我们可以通过binlog日志恢复数据查看mysql是否开启binlog语句mysql> show variables like '...原创 2019-04-28 11:37:07 · 19033 阅读 · 2 评论 -
Mysql连接数和状态
连接数查看show processlist: 列出当前用户的前100条连接信息;show full processlist: 列出当前用户的所有连接信息;当root用户登陆后,能够查看所有用户的连接数;mysql> show processlist;+----+------+---------------------+------+---------+-------+-------...原创 2019-04-28 17:38:58 · 294 阅读 · 0 评论 -
oracle表空间查询数据文件及剩余空间
数据字典DBA_TABLESPACES存放表空间的信息,从该视图可以知道数据库中有哪些表空间。SQL> desc dba_tablespaces; Name Null? Type ----------------------------------------- -------- ---------------------------- TABLESPACE_NA...原创 2019-05-05 10:14:16 · 3926 阅读 · 0 评论 -
oracle使数据文件离线或在线
在归档模式下(archivelog)使数据文件离线alter database datafile '数据文件路径' offline;在非归档模式下(noarchivelog)使数据文件离线alter database datafile '数据文件路径' offine for drop;使用for drop选项,这样离线的数据库文件将永远不能再次在线,所以在非归档模式下离线数据文件要非常...原创 2019-05-05 10:23:16 · 2518 阅读 · 0 评论 -
oracle移动数据文件
在oracle中,允许把一个数据文件从一个物理位置移动到另外一个物理位置。查询数据文件当前的位置SQL> set linesize 200SQL> col FILE_NAME format a60SQL> select file_name,tablespace_name from dba_data_files;FILE_NAME TABLESPA...原创 2019-05-05 10:48:57 · 536 阅读 · 0 评论 -
sqlplus使用技巧(二)
1、查看一条SQL语句的执行时间很多时候,我们可以通过如oracle developer等工具查看一条sql的执行时间,如下:在远程服务器上,可能都没有图形界面的linux,作为DBA的你,可不要被难倒了,可以使用如下方法:SQL> set timing onSQL> select * from t1; ID---------- 1 2 3 4 5...原创 2019-04-29 16:17:35 · 602 阅读 · 0 评论 -
oracle删除数据文件
alter tablespace 表空间名 drop datafile '数据文件路径';如果要删除临时文件,可以使用如下命令alter tablespace 临时表空间名 drop tempfile '临时文件位置';也可以使用如下命令删除临时文件alter database tempfile '临时文件路径' drop including datafiles;...原创 2019-05-05 11:37:49 · 3979 阅读 · 0 评论 -
oracle设置自动清理归档日志脚本
[root@localhost ~]# mkdir /nstg[root@localhost ~]# cd /nstg/[root@localhost nstg]# mkdir bin log tmp[root@localhost nstg]# chown -R oracle:oinstall /nstg[root@localhost nstg]# su - oracle[oracle...转载 2019-05-14 13:46:00 · 1624 阅读 · 0 评论 -
linux中mysql定时备份脚本
source /etc/bashrc && source /etc/profileMySQL_USER=wlkjMySQL_PASSWORD=linuxweb2015MySQL_DUMP_PATH=/u01/mysql_backupDATE=$(date '+%Y-%m-%d')# 创建相关备份目录[ -d ${MySQL_DUMP_PATH} ] || mkdir ...原创 2019-05-09 15:52:35 · 1655 阅读 · 0 评论 -
DM_SQL建表语法
达梦数据库是一个国产数据库,建表的语法如下,需要在建立表空间的情况下建立模式,在模式下新建表。create tablespace bookshop datafile 'bookshop.dbf' size 150;建立模式create schema person authorization sysdba;create schema sales authorization sysdba;...原创 2019-10-08 10:59:16 · 3407 阅读 · 0 评论 -
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法
这是我们开启了bin-log, 我们就必须指定我们的函数是否是1 DETERMINISTIC 不确定的2 NO SQL 没有SQl语句,当然也不会修改数据3 READS SQL DATA 只是读取数据,当然也不会修改数据4 MODIFIES SQL DATA 要修改数据5 CONTAINS SQL 包含了SQL语句其中在function里面,只有 DETERMINISTIC, NO S...原创 2019-09-08 13:40:21 · 427 阅读 · 0 评论 -
配置文件中的数据库密码加密
数据库密码直接写在配置中,对运维安全来说,是一个很大的挑战。Druid为此提供一种数据库密码加密的手段ConfigFilter。2.1 执行命令加密数据库密码在命令行中执行如下命令:java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools you_password输出privateKey:MIIBVgIB...原创 2019-06-14 16:44:03 · 4004 阅读 · 0 评论 -
oracle修改日期的显示方式
在之前的博客上其实讲到过 https://blog.csdn.net/huangbaokang/article/details/80059300 ,只不过是在Oracle SQL Developer客户端工具中而已,其实任何客户端都是调用了底层命令执行的,在sqlplus中我们可以通过如下命令进行修改。alter session set nls_date_format='YYYY-MM-DD H...原创 2019-06-06 17:46:09 · 1148 阅读 · 0 评论 -
oracle数据库translate函数
SQL> select translate('huangbaokang','ag','89') from dual;输出hu8n9b8ok8n9该函数是一一对应替换字符,如上,a替换成8,g替换成9语法:translate(string1,string2,string3)如果一个字符同时存在string1和string2,而不存在string3中,则该字符将被字符串stri...原创 2019-06-06 17:20:29 · 3247 阅读 · 5 评论 -
oracle分级汇总rollup
oracle就是牛逼,个人感觉oracle提供的统计函数相对于其他数据库来说,是个特色,给程序员们考虑的挺到位。关于分级汇总,就是一级一级地对数据进行汇总。可以使用如下语句进行分级汇总:select to_char(deal_date,'YYYY') 年,to_char(deal_date,'MM') 月,sum(money) 销售收入from shoe_salesgroup by r...原创 2019-06-06 11:22:25 · 1299 阅读 · 0 评论 -
oracle列转换成行
列转行select name "姓名",sum(decode(salary_type,'基本工资',cnt ,0)) "基本工资",sum(decode(salary_type,'交通补贴',cnt ,0)) "交通补贴'",sum(decode(salary_type,'全勤奖',cnt ,0)) "全勤奖",sum(decode(salary_type,'效益奖',cnt ,0)) ...原创 2019-05-31 21:21:00 · 5680 阅读 · 0 评论 -
oracle随机数的产生
oracle专门提供一个包DBMS_RANDOM,用于产生随机数。该包中包含一些过程或者函数,调用这些函数能够产生各种各样的随机数。1、返回一个[0,1)的随机数SQL> select dbms_random.value from dual;2、返回一个大于或等于1且小于50的随机数SQL> select dbms.random.value(1,50) from dual;...原创 2019-06-06 09:29:38 · 6784 阅读 · 0 评论 -
如何在删除ibdata1和ib_logfile的情况下恢复MySQL数据库
基本步骤:1、前台条件,已做好mysql的数据备份(ibd和frm)如果当同一台机做实验,需要把原来的数据文件拷贝到其他目录2、创建同名表,表结构必须保持一致,可以通过frm文件知道表结构,参考我的博客 https://blog.csdn.net/huangbaokang/article/details/909061383:导出表空间mysql>alter table t disc...原创 2019-06-05 19:46:40 · 1607 阅读 · 0 评论 -
mysql通过frm文件查找表结构定义
1:在新安装的mysql数据库上做实验创建一个表名相同的表,字段可以随意。mysql> use resdb;Database changedmysql> create table t_wlkj_user_inf(id int);Query OK, 0 rows affected (0.03 sec)2、关闭mysqlservice mysql stop3、由于我安装...原创 2019-06-05 17:32:10 · 2300 阅读 · 0 评论 -
mysql连接信息jdbcUrl的常用写法
jdbc:mysql://192.168.8.110:3306/db_name?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull原创 2019-05-31 11:22:53 · 4165 阅读 · 0 评论 -
Cannot open tablespace resdb/t_wlkj_data_dict which uses space ID: 15 at filepath: ./resdb/t_wlkj_da
在启动mysql的时候报了如下错:2019-06-05 14:07:16 28463 [Note] InnoDB: Using atomics to ref count buffer pool pages2019-06-05 14:07:16 28463 [Note] InnoDB: The InnoDB memory heap is disabled2019-06-05 14:07:16 ...原创 2019-06-05 14:17:37 · 749 阅读 · 0 评论 -
oracle计算一个表的大小
select segment_name,sum(bytes)/1024/1024||'M' from dba_extentswhere segment_name='S_EMPLOYEE' group by segment_name;可以使用类似于下面的命令给表添加新的区。alter table s_employee allocate extent(size 1M);...原创 2019-05-28 09:07:43 · 2097 阅读 · 0 评论 -
oracle重做日志组相关操作
1、查询数据库中的重做日志组SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME---------- ---------- ---...原创 2019-05-17 14:41:55 · 1453 阅读 · 0 评论 -
Oracle数据库重做日志及归档日志的工作原理
LGWR进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出switch logfile指令时都会触发日志组的切换,当发生日志组切换时,ARC进程会将当前的重做日志数据写入归档日志;LGWR进程是将内存中的数据写入到重做日志文件,这是内存读磁盘写。然而ARC进程是将重做日志文件写入到归档文件,是...原创 2019-05-17 08:40:15 · 1759 阅读 · 0 评论