数据库
一朵纯洁的小白花
这个作者很懒,什么都没留下…
展开
-
MyBatis Generator
MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器。它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码。它将内省数据库表(或许多表),并将生成可用于访问表的工件。这减少了设置对象和配置文件以与数据库表交互的初始麻烦。MBG寻求对简单CRUD(创建,检索,更新,删除)的大部分数据库操作产生重大影响。您仍然需要为连接查询或存储过程手动编写SQL和对象代码。3.运行(刷新maven,点击运行)原创 2022-11-14 11:27:13 · 429 阅读 · 1 评论 -
redis分布式锁实现
单体应用多线程锁使用synchronized关键字或ReentrantLock类来保证线程的顺序执行个别场景使用JDK1.5之后提供的大量原子类AtomicInteger(基于CAS的乐观锁)测试锁模拟并发可使用闭锁:CountDownLatch类对象模拟ReentrantLock的公平锁和非公平锁机制 ReentrantLock有两个构造方法,默认的构造方法中,sync = new NonfairSync();我们可以从字面意思看出它是一个非公平锁。再看看第二个构造方...原创 2022-04-27 16:38:32 · 1293 阅读 · 1 评论 -
MYSQL优化方案(不定时更新补充,建议保存)
系统的数据都从数据库上来,数据库的吞吐量和速度一定程度决定系统的并发和响应速度 系统运行与数据量成正比,数据读处理尤其是查询自然就慢 Mysql数据库的数据最终在磁盘上持久化存储,读写不如Redis等这些内存数据库数据库优化一般从以下几个方面来:数据库设计:数据表设计遵循三范式,使用合适的数据类型,使用合适的存储引擎、索引 数据库扩展:数据库的分表分库,读写分离等 数据库使用:SQL语句优化等 数据库服务器配置:尽可能磁盘读写速度快的配置一、数据库设计 三范式:字段原子...原创 2021-12-15 18:08:26 · 942 阅读 · 0 评论 -
Mysql 实现读写分离(使用MyCat1.6.6)
上篇讲到Mysql实现主从复制mysql 部署主从数据库_一朵纯洁的小白花的博客-CSDN博客本篇来实现mysql在程序中的读写分离使用到数据库中间件myCat,实现读写库的自动路由服务器环境:linux Centos 7mysql8.0.21服务器三台(一主一从) 192.168.121.10 (主库)、192.168.121.20(从库)192.168.121.30(mycat中间件)三台机器均需安装同一版本mysql数据库安装步骤参考linux安装mysql详细...原创 2021-11-29 14:29:48 · 1076 阅读 · 0 评论 -
mysql 部署主从数据库
部署环境:linux Centos 7mysql8.0.21服务器两台(一主一从) 192.168.121.10 (主库)、192.168.121.20(从库)数据库安装步骤参考上篇链接linux安装mysql详细教程(远程连接)_一朵纯洁的小白花的博客-CSDN博客两台服务器最好安装版本一致开始部署1、配置master主服务器的mysql[root@localhost bin]# vim /etc/my.cnf1.在[mysqlId]下新添加server-...原创 2021-11-23 12:05:12 · 1247 阅读 · 0 评论 -
Mysql全量数据迁移(备份+恢复)
linux/windows环境大同小异1、数据备份mysqldump命令备份指定数据库全量数据登录服务器mysqldump -u 用户名-p数据库密码数据库名 > 备份文件地址/database.sqlsql脚本备份完成!2、数据库迁移/恢复我选用的是source命令,当然也有其他的方式以下为source命令的方式1、一般全量sql脚本数据较大,需修改数据库配置在mysql的安装目录下 找到 my.ini文件 加入以下代码:(查看文件中是否已设置,进行...原创 2021-11-16 15:39:31 · 1280 阅读 · 0 评论 -
java程序导出mysql数据生成sql脚本,数据迁移
通过sql语句查询,获取数据集,通过程序,导出insert或其他语句,生成sql文件。库名,表名,条件,sql动作,都可进行指定,或直接写全sql。具体代码如下:package com;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.sql.*;import java.util.ArrayList;原创 2021-11-09 16:11:47 · 2629 阅读 · 0 评论 -
client does not support authentication protocol requested by server;consider upgrading mysql client
mysql新建用户,连接失败错误提示:客户端不支持服务器请求的身份验证协议;考虑升级mysql客户端 。问题原因:Mysql8.0的默认认证方式改用sha2了,要么升级客户端,要么修改要登陆的用户认证方式下面只讲解修改认证方式方案解决方案:1.先查阅数据库账户认证方式mysql8.0之后升级为caching_sha2_password,老版navicat使用mysql_native_password方式2.将认证方式修改,最后刷新,修改完成。3.重新连接登...原创 2021-11-04 15:11:41 · 916 阅读 · 0 评论 -
mysql服务器备份+文件夹移动
一、用命令备份数据库1. 一般备份:mysqldump -u 数据库登录名 -p [数据库登录密码] 数据库 > 备份路径/文件名 .sql2.备份成压缩包:mysqldump -u 数据库登录名 -p [数据库登录密码] 数据库 | gzip > 备份路径/文件名 .sql.gz实例:注意 要先创建一个备份位置的文件夹及空文件。mysqldump -u 用户名 -p 密码 数据库 > /全路径/newdata.sql二、文件夹移动...原创 2021-10-11 18:09:30 · 174 阅读 · 0 评论 -
MYSQL递归查询语句(亲测可用)
常用于子父级递归查询WITH RECURSIVE _parent AS(SELECT t.* FROM `table` tWHERE t.id='参数' UNION ALLSELECT t.* FROM _parent,`table` tWHERE t.id=_parent.pid)SELECT * FROM _parent;ps:楼主使用mysql版本8.0WITH RECURSIVE 将查询结果带入下次查询,进行递归,查询全路径...原创 2021-08-20 13:56:21 · 762 阅读 · 0 评论 -
MYSQL判断索引是否存在,不存在则创建索引(亲测可用)
springboot集成flyway管理数据库版本使用存储过程平滑更新系统数据库这是一个不存在就添加索引的例子,若需求是存在则删除 微调下面的 if not exists 即可DROP PROCEDURE IF EXISTS add_index;DELIMITER $CREATE PROCEDURE add_index()BEGINDECLARE target_database VARCHAR(100);DECLARE target_table_name VARCHAR(100).原创 2021-08-19 18:53:32 · 9506 阅读 · 0 评论 -
linux neo4j安装apoc(亲测可用)
以安装neo4j版本neo4j-community-3.5.28为例1、把3.5版本的jar包下载到neo4j对应的plugins文件夹中https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/3.5.0.112、修改该jar包的权限(添加执行权限),chmod 755 xxxxx.jar3、修改neo4j.conf: 放开注释,修改plugins为绝对路径dbms.directories.plugin...转载 2021-07-27 09:17:35 · 1149 阅读 · 0 评论 -
mysql配置本地数据库供其他机器访问(windows)
(以mysql5.7为例)修改本地文件第一步:设置mysql服务供外网访问,打开mysql的配置文件my.ini在最下面添加[mysqld]port=3306bind-address=0.0.0.0保存并重启mysql服务第二步:设置用户供外网访问新建用户将主机字段改为%,表示任意ip都可通过此用户登录到此,本地数据库设置完毕。如何访问输入要连...原创 2019-10-17 10:29:20 · 951 阅读 · 2 评论 -
java mysql 通用aes加密算法
通用的aes加密,使用场景,插入数据时,使用java进行加密数据,查询时,通过sql进行解密,不用取出再遍历解密(更正:to_base64只适用mysql5.6之后的,之前的没有这个函数,不适用,可以使用HEX,UNHEX ,当然java要用对应的方法解密)如下:import javax.crypto.Cipher;import javax.crypto.spec.Sec...转载 2019-08-06 13:49:56 · 2420 阅读 · 0 评论 -
mysql 使用触发器对表字段进行AES加密解密
首先说一下触发器在对表操作时引发的触发事件,用于加强数据的完整性和业务规则等,可以为操作前(before)要处理的事件,可以为操作后(after)进行的事件这些操作包括insert,update,delete,目前select应该不可以,我没学习到这个具体要素和语法,例子:对一条插入数据的某个字段进行加密存储CREATE TRIGGER `trigger_name` BEFOR...原创 2019-08-06 10:50:57 · 969 阅读 · 0 评论 -
mysql导出数据去除带有网页元素的标签
经常会遇见字段中存的是带有网页元素的字符串,怎么取出纯文本呢?方法如下:使用函数fnStripTagsSET GLOBAL log_bin_trust_function_creators=1;DROP FUNCTION IF EXISTS fnStripTags;CREATE FUNCTION fnStripTags( Dirty text(0) )RETURNS text(0...原创 2019-07-23 14:08:22 · 449 阅读 · 0 评论