MySQL中使用Optimize优化表

OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并没有立即被回收,使用了OPTIMIZE TABLE命令后这些空间将被回收,并且对磁盘上的数据行进行重排(注意:是磁盘上,而非数据库)。多数时间并不需要运行OPTIMIZE TABLE,只需在批量删除数据行之后,或定期(每周一次或每月一次)进行一次数据表优化操作即可,只对那些特定的表运行,这个操作对于游戏数据库中的某些表特别起作用,这些表基本上需要每周做一次优化,甚至一周两次。如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的 ......

Postgresql修改存储位置注意事项

1、修改postgresql.conf文件中的data_directory项内容,指定自己要存储数据的文件夹。data_directory = '/data/pg10data/'2、修改/usr/lib/systemd/system/postgresql-10.service中Environment项的内容Environment=PGDATA=/data/pg10data/3、将修改后的文件夹的属组和属主都改成postgrechown postgres:postgres /data/pg10data4、将修改后的文件夹的权限改成0700,即chmod 700 文件夹路径chmod ......

查看PostgreSQL版本号

在Linux系统下,可以通过命令“postgres -V”或者命令“psql -V”查看su - postgres psql -V 或者 psql --version psql (PostgreSQL) 10.1在数据库里面直接使用SELECT version();查询postgres=# select version(); #当前客户端Postgresql版本号 version ......

修改PostgreSQL数据库默认用户postgres密码

PostgreSQL 安装完成后,会建立一下'postgres'用户,用于执行PostgreSQL,数据库中也会建立一个'postgres'用户,默认密码为自动生成,需要在系统中改一下。su - postgres #切换用户,执行后提示符会变为 '-bash-4.2$' psql -U postgres #登录数据库,执行后提示符变为 'postgres=#' ALTER USER postgres WITH PASSWORD 'xxxxxx'; 设置postgres用户密码 或者直接输入 \q #退出数据库也可以用下面这个方式su - postgres psql ......

CentOS7.4快速安装PostgreSQL10.1
CentOS7.4快速安装PostgreSQL10.1

PostgreSQL可根据不同操作系统版本现在相应的安装包,在官方下载https://www.postgresql.org/download/ 根据数据库版本、操作系统版本选择相对应的的版本:安装yum更新源yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-1.noarch.rpm安装PostgreSQL客户端和服务端yum install postgresql10 -y yum install postgresql10-server ......

python逐行删除文件

要删除的文件在一个txt文件里面,每行一个地址,直接使用readline然后调用系统命令删除,脚本如下#!/usr/bin/env python #-*- coding:utf-8 -*- import sys import os myfile = codecs.open("del.txt","rw","utf-8") line = myfile.readline() while line: print line, line = line.strip('\n\r') #去除每行的换行符 os.sy ......

Oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT

在删除列、或表的时候报错“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”,一般都是发生锁表造成的,或者上一条语句没有执行完成,阻塞造成了锁表;解决方法:找出锁表sidselect SESS.sid, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME, AO.OBJECT_NAME, LO.LOCKED_MODE from V$LOCKED_OBJECT LO, DBA_OBJECTs AO, V$SESSION SESS where AO.OBJECT_ID = LO.OBJE ......

ORA-01031权限不足解决方法

在Oracle11gR2数据库上,以DBA权限的账号执行存储过程报错,PL/SQL:ORA-01031:权限不足,如下图原因:1、ORACLE默认为定义者权限,定义者权限在存储过程中ROLE无效,需要显示授权。2、如果使用AUTHID CURRENT_USER关键字使用调用者权限,则编译时ROLE无效,运行时有效。解决办法:方法1:对存储过程来说,CREATE TABLE想使用CREATE ANY TABLE权限,而CREATE ANY TABLE权限来自DBA角色,默认情况下,虽然在会话环境中可见,但在存储过程中不可见(无效)。所以根据上面的第一条规则,可以显示地将CREATE ......

Oracle11g性能参数常用查询SQL

当前会话的SID,SERIAL#SELECT Sid, Serial# FROM V$session WHERE Audsid = Sys_Context('USERENV', 'SESSIONID');查询session的OS进程IDSELECT p.Spid "OS Thread", b.NAME "Name-User", s.Program, s.Sid, s.Serial#,s.Osuser, s.Machine FROM V$process p, V$session s, V$bgprocess b WHERE p.Addr = ......

Oracle性能相关常用脚本整理(SQL)

Oracle10g和11g下面都可以直接查询,SQL优化系统调优的时候经常会用到最多BUFFER_GETS开销的SQL语句TOP 10SET LINESIZE 190 COL sql_text FORMAT a100 WRAP SET PAGESIZE 100 SELECT * FROM ( SELECT sql_text, sql_id, executions, disk_reads, buffer_ ......

Python模块之codecs: 自然语言编码转换

当python要做编码转换的时候,会借助于内部的编码,转换过程是这样的:原有编码 -> 内部编码 -> 目的编码python的内部是使用unicode来处理的,但是unicode的使用需要考虑的是它的编码格式有两种,一是UCS-2,它一共有65536个码位,另一种是UCS-4,它有2147483648g个码位。对于这两种格式,python都是支持的,这个是在编译时通过--enable-unicode=ucs2或--enable-unicode=ucs4来指定的。那么我们自己默认安装的python有的什么编码怎么来确定呢?有一个办法,就是通过sys.maxunicode ......

CentOS下安装Maven库

maven是基于项目对象模型(pom),可以通过一小段描述信息来完成复杂项目的构建,另外还有报告和文档功能,是一种强大的项目管理工具,包括java工程项目打包等。安装Maven之前,先要正确安装JDK,Maven 3.3 要求 JDK 1.7 或以上Maven 3.2 要求 JDK 1.6 或以上Maven 3.0/3.1 要求 JDK 1.5 或以上(SDK)下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.htmlJDK安装脚本:mkdir /usr/lib/jvm/ tar -xvf jdk ......

安装sticky模块报错问题解决

sticky 模块在编译进nginx的时候,在以上nginx0.9版本会报错,需要修改源文件:编译时出现错误: cc1: warnings being treated as errors ngx_http_sticky_module.c: In function ‘ngx_http_get_sticky_peer’: /ngx_http_sticky_module.c:333: 警告:赋值时将整数赋给指针,未作类型转换 ake[1]: *** [objs/addon/nginx-sticky-module-1.1/ngx_http_sticky_module.o] 错误 1ngx ......

Nginx sticky模块实现基于cookie的负载均衡

在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接。使用什么方式来实现这种连接呢,常见的有使用nginx 自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端是cdn,或者说一个局域网的客户同时访问服务器,导致出现服务器分配不均衡,以及不能 保证每次访问都粘滞在同一台服务器。如果基于cookie会是一种什么情形,想想看, 每台电脑都会有不同的cookie,在保持长连接的同时还保证了服务器的压力均衡,nginx sticky值得推荐。如果浏览器不支持cookie,那么sticky不生效,毕竟整个模块是给予cookie实现的.nginx s ......

Nginx解决超长请求串(413 request Entity too Large错误解决办法)

nginx作为反向代理服务器,小文件上传可以,大文件上传会报413,400,414(如 413 request Entity too Large)等状态码,这是因为请求长度超过了nginx默认的缓存大小和最大客户端最大请求大小,增加或修改以下参数,一般可解决此类问题:http段: keepalive_timeout 300; proxy_read_timeout 300; add_header Access-Control-Allow-Origin *; client_max_body_size 1000m; client_header ......

Http协议中的各种长度限制设置

HTTP1.0的格式Request(HTTP请求消息)结构:一个请求行.部分消息头,以及实体内容,其中的一些消息内容都是可选择的.消息头和实体内容之间要用空行分开.GET /index.html HTTP/1.1 //请求头,下面都是消息头.Accept: */* Accept-Languang:en-us Connection:keep-alive Host:localhost Referer:HTTP://localhost/index.html User-Agent:Mozilla/4.0 Accept-Encoding:gzip,deflate//到上面都是消息头,下面一 ......

Tomcat性能参数设置

和最大连接数有关的配置:应同时加大maxThreads和acceptCount。另外还有OS内核参数,通常Windows2000个左右,Linux1024。conf/server.xml: maxThreads="150" 最多同时处理150个连接。Tomcat可创建的最大线程数。150~250。 minSpareThreads="25" 表示即使没有人使用也开这么多空线程等待,初始化时创建 , maxSpareThreads="75" 最多可空75个线程(一旦超过,Tomcat就关闭不再需要的socket ......

Nginx中使用Realip模块获取用户真实IP地址

Web服务器前端有代理服务器或者nginx做了二次转发或CDN时日志中的$remote_addr可能就不是客户端的真实IP了,IP默认会显示为前端代理的IP了,要获取到真实IP,常用的解决方法有以下三种:1、使用CDN自定义IP头来获取优点:获取到最真实的用户IP地址,用户绝对不可能伪装IP缺点:需要CDN厂商提供CDN厂商使用nginx,那么在nginx上将$remote_addr赋值给你指定的头,方法如下:proxy_set_header remote-user-ip $remote_addr;后端将会收到remote_user_ip的http头,直接读取HTTP_REMOT ......

根据日志统计Nginx访问量
根据日志统计Nginx访问量

PV(Page View):即页面浏览量或者点击量,用户每一次对网站中每个页面访问均记录1个PV。用户对同一页面的多次访问,访问量累积。UV(Unique Visitor):指通过互联网浏览这个网页的人,电脑称为一个访客、手机也称为一个访客,一天之内相同的客户端只能被计算一次。IP(Internet Protocol):指独立IP访问站点的IP总数,一天内相同IP只能算一次。VV(Visit View):指所有访客一天内访问网站的次数,当访客完成所有浏览并最终关闭网站的所有页面时变完成了一次访问,同一访客一天内可能有多次访问行为,访问次数累积。查看各个访问量:1.根据访问IP统计 ......

Oracle启用和禁用触发器

1、禁用 table_name 表的所有 triggeralter table table_name disable all triggers; 2、启用 table_name 表的所有 triggeralter table table_name enable all triggers; 3、禁用指定 triggeralter trigger trigger_name disable; 4、启用指定 triggeralter trigger trigger_name enable;5、查询xxx触发器具体内容SELECT text FROM ALL_SOURCE where ......