数据库
怪只怪满眼尽是人间烟火
尚未佩妥剑 转眼已江湖
展开
-
mysql数据库连接池第一次初始化特别慢的解决方法
如果你的mysql主机查询DNS很慢或是有很多客户端主机时会导致连接很慢,由于我们的开发机器是不能够连接外网的,所以DNS解析是不可能完成的,从而也就明白了为什么连接那么慢了。同时,请注意在增加该配置参数后,mysql的授权表中的host字段就不能够使用域名而只能够使用 ip地址了,因为这是禁止了域名解析的结果。方法二、在my.cnf配置文件里,添加skip-name-resolve项,禁止掉DNS的查询;方法一、连接数据库时,使用localhost,不要使用明确的IP地址 (远程数据库除外);原创 2022-09-29 23:18:13 · 2199 阅读 · 0 评论 -
MySQL删除数据后,释放磁盘空间
deletefromtable_name不会释放磁盘空间,Innodb和MyISAM,新insert的数据会插入到原来的位置,比如删除100万数据后,数据文件不会变小,重新插入一百万数据后,数据文件不会变大。truncatetabletable_name立刻释放磁盘空间,Innodb和MyISAM,truncatetable其实有点类似于droptable然后create;可以在删除掉数据后执行下面语句,会立刻释放磁盘空间,但该操作会锁定表结构。...原创 2022-07-31 00:20:01 · 3487 阅读 · 0 评论 -
mysql配置提高数据插入效率
innodb_flush_log_at_trx_commit 默认值为1;设置为0,可以提高写入速度。值为0:提升写入速度,但是安全方面较差,mysql服务器宕机可能会造成数据丢失。值为1:每一次事务提交或者事务外的指令都需要把日志写入硬盘,此过程消耗时间较长;innodb_autoextend_incrementinnodb_autoextend_increment 默认值是8M,可以设置成128M此配置项作用主要是当tablespace 空间已经满了后,需要MySQL系统需要自动扩展多少空间,原创 2022-06-24 16:24:50 · 1346 阅读 · 0 评论 -
java消费kafka数据之后,进行堆积之后在插入数据库
java高频的获取kafka数据,导致数据库数据一致在高频读写,为了降低数据库的高频连接搞高频读写,可以将数据堆积一段时间之后,进行插入数据库操作。主要采用了队列和缓存,将获取到的数据放入java队列中,利用缓存进行延时判断。 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version原创 2022-04-13 18:01:17 · 3636 阅读 · 0 评论 -
mysql监控sql
数据库大小(MB)select FLOOR(round(sum(DATA_LENGTH/1024/1024),2)) as data from information_schema.TABLES where table_schema='nlflow_data'查看日志表信息show variables like 'log_%'慢查个数show global status like 'slow_queries'当前连接数量show status like '%Threa..原创 2022-01-16 13:33:44 · 387 阅读 · 0 评论 -
jdbc工具类JdbcUtil
import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Component;import java.sql.*;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * @author qushen * @create 2022/1/12 15:52 *.原创 2022-01-14 10:49:33 · 584 阅读 · 0 评论 -
java获取数据库数据保存到本地txt文件中
首先是Services@Servicepublic class logServiceimpl implements logService { @Autowired @Qualifier("primaryJdbcTemplate") protected JdbcTemplate jdbcTemplate; @Override public List<lockLog> getlog() { String sql="show原创 2021-11-01 15:31:45 · 2279 阅读 · 0 评论 -
DataSourceBuilder转换JdbcTemplate
import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.jdbc.core.JdbcTemplate;import java.sql.Connection;import java.util.LinkedList;import java.util.List;import java.util.Map;public class DataBase { private static .原创 2021-08-08 00:07:07 · 639 阅读 · 0 评论 -
dataSource 转 jdbctemplate
https://www.cnblogs.com/cutter-point/p/9147745.html转载 2021-08-07 23:36:05 · 289 阅读 · 0 评论 -
MySql的upsert操作
创建一张表CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `age` int(11) DEFAULT NULL COMMENT '年龄', `password` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '密码', `sex` int(11) DEFAULT NULL COMMENT '性别', `username.原创 2021-08-06 14:39:34 · 1542 阅读 · 0 评论 -
java动态sql执行数据
查询:String sql = "SELECT " + Joiner.on(",").join(columns) + " FROM " + table + " WHERE 1=1";写入: String sql = "INSERT INTO %s(%s) VALUES(%s)" , table,Joiner.on(",").join(columns), '值';原创 2021-08-02 23:15:44 · 321 阅读 · 0 评论 -
SQL查询数据库完整表结构(mysql)
SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_DEFAULT 默认值, COLUMN_COMMENT 备注FROMINFORMATION_SCHEMA.COLUMNSwhere-- developerclub为数据库名称,到时候只需要修改成你要导出表结构的数据库即可table_schema ...原创 2021-08-02 23:11:12 · 829 阅读 · 0 评论 -
mysql调优的一些方面
1.首先的一点就是可以做一个mysql集群实现读写分离2.查询sql慢日志,给一些表做索引3.调整mysql参数:设置合理的key_buffer_size,它是指索引缓冲区的大小,决定了索引的处理速度。大概的分配为1G设置128M,2G为256M,依此类推。#查看key_buffer_size的值show variables like "key_buffer%";#修改,单位为bitset global key_buffer_size=256000000;#查看该参数的合理性,转载 2020-12-18 10:02:56 · 192 阅读 · 0 评论 -
mysql 查询正在执行的事务以及锁 常用的sql语句
执行update语句报错[Err] 1205 - Lock wait timeout exceeded; try restarting transaction查询 正在执行的事务:SELECT * FROM information_schema.INNODB_TRX根据这个事务的线程ID(trx_mysql_thread_id),kill 线程id 杀掉线程。查看正在锁的事务SELECT * FROM INFORMATION_SCHEMA.INNOD...原创 2020-12-16 12:33:18 · 709 阅读 · 1 评论 -
在linux设置Mysql允许用户远程登录和限制用户远程登录
允许用户远程登录:use mysql;update user set host = '%' where user = 'root';select host, user from user;flush privileges;限制用户远程登录:use mysql;update user set host = 'localhost' where user = 'root';select host, user from user;flush privileges;...原创 2020-12-14 18:11:21 · 330 阅读 · 0 评论 -
springboot配置多个数据库环境
spring boot允许你通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件:然后在application.properyies通过 spring.profiles.active=xx来具体激活一个或者多个配置文件:server.port=8050spring.profiles.active=devspring.mvc.throw-exception-if-no-handler-found=truespring.resou.原创 2020-12-01 09:49:28 · 805 阅读 · 0 评论 -
查看并开启MySQL的log-bin和general_log日志
查看MySQL是否开启binlog日志:show variables like 'log_bin';未开启:Variable Value log_bin OFF 开启:Variable Value log_bin ON 手动开启MySQL的binlog日志: 在my.ini主配置文件中直接添加三行 log_bin=ONlog_bin_basename=/var/lib/mysql/mysql-bi...原创 2020-10-22 15:19:32 · 1703 阅读 · 0 评论 -
mysql删除表中数据报错:[Err] 1206 - The total number of locks exceeds the lock table size
首先查看缓冲池:show variables like "%innodb_buffer_pool_size%";配置缓存池(2G)大小:SET GLOBAL innodb_buffer_pool_size=2147483648;查看内部内存临时表的大小: show variables like "%tmp%"配置内存临时表(2G)大小:SET GLOBAL tmp_table_size=2147483648;...原创 2020-08-11 14:16:16 · 656 阅读 · 0 评论 -
MySQL数据库自动添加时间戳
类型为TIMESTAMP 长度自动为0为空项选择not NULL默认值中填入 CURRENT_TIMESTAMP原创 2020-07-27 20:27:03 · 1261 阅读 · 0 评论 -
MYSQL监控命令
一.性能监控1.查看正在执行的进程show processlist;2.查看当前最大连接数show variables like 'max_connections';3.设置mysql 最大连接数set global max_connections=1000;4. 查看试图连接到MySQLshow status like 'connections';5. 查看线程缓存内的线程的数量show status like 'threads_cached';6..原创 2020-07-23 17:43:56 · 699 阅读 · 0 评论 -
mysql的表分区
1.RANGEalter table `cdb_test` partition by range (id) ( partition `p0` values less than (2), partition `p1` values less than (4), partition `p2` values less than (maxvalue))2.List原创 2020-07-16 20:59:45 · 923 阅读 · 0 评论 -
mysql
show variables like '%slow%';show global status like '%slow%';show variables like 'max_connections';show variables like 'key_buffer_size';set global 'key_buffer_size'=xxxx;show global status like 'key_read%';show global status like 'com_selec.原创 2020-07-08 20:02:26 · 182 阅读 · 0 评论 -
mysql 全连接查询合并字段
1、创建两张表表t1:id name 1 a1 3 a3 表t2:id name 1 b1 2 b2 5 b5 联合查询合并字段:B c myId a1 b1 1 0 b2 2 a3 0 3 0 b5 5 sql如下:SELECT IFNULL(t3.name,0) as B, IFNULL(t3.name1,0) a...原创 2020-07-08 16:12:03 · 389 阅读 · 0 评论 -
navicat开启mysql数据库root用户的远程访问
打开navicat,登录mysql,点击用户,打开root用户,把主机名修改成%,保存即可。原创 2020-06-18 09:26:33 · 1056 阅读 · 0 评论 -
Navicat for MySQL 设置定时任务
1.首先打开数据库,数据如下命令开启定时任务。SET GLOBAL event_scheduler = ON;SET @@global.event_scheduler = ON;SET GLOBAL event_scheduler = 1;SET @@global.event_scheduler = 1;2.然后点击事件,并新建一个事件。3. 定义中填写要执行的语句。4.计划中写要执行的频率和时间5.然后保存,便可以执行了。...原创 2020-05-19 21:44:15 · 426 阅读 · 0 评论 -
windows下备份mysql 数据库
首先新建一个dbbackup.bat脚本文件。@echo offset "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"cd C:\Program Files\MySQL\MySQL Server 5.7\binmysqldump --opt -u qushen --password=qushen test > D:/db_backup/test%Ym...原创 2020-04-27 13:48:30 · 220 阅读 · 0 评论 -
ORA-28000: the account is locked 解决方法
在oracle中,默认连续十次尝试登陆不成功,账户将被锁定!只需要将登陆错误次数为10次的限制取消掉就可以。1.首先在DOS窗口输入 sqlplus /nolog2. 继续输入 conn /as sysdba3为用户解锁 alter user system account unlock原创 2017-12-11 20:28:57 · 787 阅读 · 0 评论 -
oracle数据库导入导出命令
oracle数据库导入导出命令首先电脑上一定要装了oracle 才能执行它本身的cmd命令.导出全部数据:点击window+R。进入输入cmd进入dos,输入下面命令: exp system/manager@TEST file=d:\daochu.dmp full=yexp是导出的意思,system是用户名,manager是密码,原创 2017-11-21 18:05:58 · 477 阅读 · 0 评论