jyoryo 发布的文章
MySQL information_schema 外键关联关系
背景:最近业务上经常遇到客户试用系统一段时候后,由于试用阶段对系统不熟悉,试用后需要将使用阶段的测试数据都要清空,然后进行正式使用系统。清空基础数据相关的表操作,但是有外键约束,是无法直接删除,需要先将有外键关联的表的数据清空,解除外键约束。
如果才能获取有哪些表引用了该表呢?其实我们可用从MySQL中的information_schema
.KEY_COLUMN_USAGE
来获取。
-- 获取所有信息
SELECT *
FROM information_schema.KEY_COLUMN_USAGE
WHERE CONSTRAINT_SCHEMA = '{database}'
AND REFERENCED_TABLE_NAME = '{table}';
-- 获取引用表及外键关联列名
SELECT TABLE_NAME, COLUMN_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE CONSTRAINT_SCHEMA = '{database}'
AND REFERENCED_TABLE_NAME = '{table}';
表information_schema.KEY_COLUMN_USAGE字段说明
Spring Java EE @PostConstruct @PreDestroy Servlet生命周期的注解
JavaEE 5引入了2个作用于Servlet生命周期的注解:@PostConstruct
和@PreDestroy
,通过这两个注解可以实现Bean初始化之前和销毁之前的自定义操作。
Servlet执行流程图
Cubieboard 1搭建服务器安装Linux/Debian系统并移至内置Nand中
本教程是基于搭载A10 arm处理器的Cubieboard 1!
一、安装Linux/Debian系统至TF/SD卡中
1. 下载系统镜像文件
Debian的wheezy
、jessie
都支持Cubieboard,个人建议下载安装jessie
版,毕竟版本比较新,软件源中的软件包会比较新,而且兼容性比较好。
Minimal Debian "Server" image
如果该路径无法下载,可以试试cubieboard-jessie-server-2gb.img.bz2
2. 将系统镜像文件写入TF/SD卡中
至少提供2G的TF/SD卡以及读卡器
Linux系统写入方法:
# 将系统镜像重命名 mv 2018-05-17-a10-debian-jessie-server-2gb.img.bz2 a10-debian-jessie-server.img.bz2 # 获取TF卡对应的设备号,可以看到类似mmcblk0 或者 sdX。请将下面的内容<MMC_DEVICE>进行替换 # 可以通过命令:fdisl -l 获取 bzip2 -dc a10-debian-jessie-server.img.bz2 > /dev/<MMC_DEVICE> # 或者解压出原始的img镜像文件 dd bs=1m if=cubieboard-jessie-server-2gb.img of=/dev/<MMC_DEVICE>
- Windows系统写入方法:
先通过支持解压bz2的解压软件(7-Zip)解压系统镜像文件,然后用Win32 Disk Imager将解压的文件写入TF卡中。
3. 让Cubieboard
获取1G内存而不是512M
通过上面的步骤,我们的的系统已经制作好了,但是此时如果插入Cubieboard
上运行的话,系统只能显示512M内存,而不是1G内存。我们需要更改替换系统的bootloader
,让系统识别1G内存。
PHP 7.2 Linux Debian/Ubuntu 源码编译安装 LNMP之PHP
Linux PHP 7.2.11源码编译安装
说明:
- 安装php版本为
7.2.11
- php解压后工作空间目录:
/data/workspace/php
- php安装目录:
/data/soft/php
1、下载并解压PHP源码
# 下载
wget http://cn2.php.net/distributions/php-7.2.11.tar.gz
# 解压
tar zxf php-7.2.11.tar.gz -C /data/workspace
mv php-7.2.12 php
cd php
2、安装所需依赖和工具
apt-get install libxml2-dev libssl-dev libcurl4-gnutls-dev libwebp-dev libjpeg-dev libpng-dev libmcrypt-dev libicu-dev
Nginx 1.15.X Linux Debian/Ubuntu 源码编译安装 LNMP之Nginx
Linux Nginx 1.15.5源码编译安装
说明:
- 安装nginx版本为
1.15.5
,其他版本类似 - nginx解压后工作空间目录:
/data/workspace/nginx
- nginx安装目录:
/data/soft/nginx
- nginx依赖
openssl
、pcre
、zlib
,这些包可以下载解压,但不用安装
1、下载并解压nginx、openssl、pcre、zlib源码
# nginx (https://nginx.org/download/)
wget https://nginx.org/download/nginx-1.15.5.tar.gz
# openssl
wget https://www.openssl.org/source/openssl-1.1.0i.tar.gz
# pcre
wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
# zilb
wget https://zlib.net/zlib-1.2.11.tar.gz
# 解压
tar zxf nginx-1.15.5.tar.gz -C /data/workspace
tar zxf openssl-1.1.0i.tar.gz -C /data/workspace
tar zxf pcre-8.42.tar.gz -C /data/workspace
tar zxf zlib-1.2.11.tar.gz -C /data/workspace
# 将nginx目录改名
mv nginx-1.15.5 nginx
cd nginx
2、安装所需依赖和工具
apt-get install make gcc g++ perl libperl-dev
MySQL 5.6 Linux Debian/Ubuntu源码编译安装 LNMP之MySQL
Linux MySQL 5.6源码编译安装
说明:
- 安装mysql版本为
5.6.41
- mysql解压后工作空间目录:
/data/workspace/mysql
- mysql安装目录:
/data/soft/mysql
- mysql数据存放目录:
/data/soft/mysql/data
下载mysql源码
下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
Java中XMLNode与Element的区别
XML文档树图
<?xml version="1.0" encoding="utf-8"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
一个xml文档由元素节点,属性节点,文本节点构成,其中bookstore被称为文档元素或根元素,也是一个元素节点。XML 文档中的每个成分都是一个节点Node
。
提升效率软件整理
Win7系统常见问题、设置、工具整理
开始菜单的所有程序
C:\Users\{user}\AppData\Roaming\Microsoft\Windows
将上面的{user}
替换为自己的登录系统的用户名。
工具:certutil
SHA1
certutil -hashfile test.rar
SHA256
certutil -hashfile test.rar SHA256
MD5
certutil -hashfile test.rar MD5
base64编码转换
ccertutil -encode test.txt out.txt
base64解码
certutil -decode input.txt out.txt