数据库

数据库死锁

醉酒当歌 提交于 2020-03-15 23:50:09
在讨论锁之前,可能会引入事务的隔离级别。尴尬的说,有点忘记了。 数据库死锁相对还比较常见,突然也让我想到了 goroutine 的 deadlock 。说下我的理解:死锁,其实是一种无尽的相互等待。 尝试通俗地描述一下死锁的过程: 路人甲和路人乙合租,两人公用一个卫生间 早上,路人甲醒的早,直接去了卫生间,但没有带手纸。想等路人乙醒了之后给他送手纸 路人乙起床后,拿上了手纸,想等路人甲赶紧从卫生间出来 昨晚,线上环境又 deadlock 报警。遗憾的是,虽然我知道发生死锁的原因,但不知道原因的原因。最后还是根据 DBA 同事提供的日志得出了判断。 在分析之前,先通过如下表格,了解一下数据库常见的锁: X IX S IS X Conflict Conflict Conflict Conflict IX Conflict Compatible Conflict Compatible S Conflict Conflict Compatible Compatible IS Conflict Compatible Compatible Compatible 简化描述一下,昨晚线上死锁的情况。下面对语句做了简化: 事务一 update friends set name = "道道法" where id = 1 事务二 update friends set name = "道道法" where

学会数据库读写分离、分表分库——用Mycat,这一篇就够了!

≡放荡痞女 提交于 2020-03-15 22:47:37
系统开发中,数据库是非常重要的一个点。除了程序的本身的优化,如:SQL语句优化、代码优化,数据库的处理本身优化也是非常重要的。主从、热备、分表分库等都是系统发展迟早会遇到的技术问题问题。Mycat是一个广受好评的数据库中间件,已经在很多产品上进行使用了。希望通过这篇文章的介绍,能学会Mycat的使用。 安装 Mycat官网: http://www.mycat.io/ 可以了解下Mycat的背景和应用情况,这样使用起来比较有信心。 Mycat下载地址: http://dl.mycat.io/ 官网有个文档,属于详细的介绍,初次入门,看起来比较花时间。 下载: 建议大家选择 1.6-RELEASE 版本,毕竟是比较稳定的版本。 安装: 根据不同的系统选择不同的版本。包括linux、windows、mac,作者考虑还是非常周全的,当然,也有源码版的。(ps:源码版的下载后,只要配置正确,就可以正常运行调试,这个赞一下。) Mycat的安装其实只要解压下载的目录就可以了,非常简单。 安装完成后,目录如下: 目录 说明 bin mycat命令,启动、重启、停止等 catlet catlet为Mycat的一个扩展功能 conf Mycat 配置信息,重点关注 lib Mycat引用的jar包,Mycat是java开发的 logs 日志文件,包括Mycat启动的日志和运行的日志。 配置

Linux whatis与whatis database使用及查询方法

时光毁灭记忆、已成空白 提交于 2020-03-15 21:58:29
在学习man命令时候,估计很多朋友都发现有man –f ,man –k 参数,可以查出很多数据。这些有的与man手册页相同,有些不是属于手册页的。它们数据怎么收集来的,并且whatis是怎么样工作的。 通过man查找帮助过程: 1 2 3 4 5 6 7 8 9 10 11 [chengmo@centos5 ~]$ man -h ... f:same as whatis(1) ... #觉得比较奇怪,whatis是什么呢? [chengmo@centos5 ~]$ man whatis #查询得到是: #whatis - search the whatis database for complete words. #它是查询whatis数据库的工具 #The whatis database is created using the command /usr/sbin/makewhatis. #里面还说,whatis数据库 是通过/usr/bin/makewhatis建立的 收获:whatis数据库,并且有makewhatis创建,whatis脚本是用作查询的 makewhatis是怎么样工作的呢? [chengmo@centos5 ~]$ man makewhatis #得到: makewhatis reads all the manual pages contained in

树莓派/Debian 服务器IP变化后 WordPress 配置

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-15 20:40:35
树莓派/Debian 服务器 IP 变化后WordPress配置 一、前言 前文实现了 树莓派/Debian 构建 LAMP Web 服务器并搭建 WordPress 博客(二) ,但是当 Paspberry/Debian 的 IP 变化后,如何恢复 WordPress 服务呢? 1. 问题描述 更改 IP 地址后,WordPress 网站依然可以访问,但是网页效果却没有了。 二、修改 WordPress 数据库配置文件 这里我们使用 phpMyAdmin 修改数据库数据,要使用数据库命令可参考: WordPress站点更换公网IP后不能正常访问的解决过程 1. 以 wordpress 对应的数据库管理员身份登录 phpmyadmin 2. 进入 wordpress 对应的数据库 3. 进入该数据库下的 wp_options 数据表 4. 找到并编辑 IP 所在信息 该表内有两条数据与 IP 相关: siteurl home 将其中内容对应部分用 新 IP 地址 进行 替换 。 三、完成测试 刷新页面,即可正常访问。 来源: https://www.cnblogs.com/Yogile/p/12499585.html

oracle服务器和客户端字符集的查看和修改

こ雲淡風輕ζ 提交于 2020-03-15 20:36:22
oracle服务器和客户端字符集的查看和修改 https://www.cnblogs.com/lcword/p/5854186.html 一、什么是oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响oracle数据库字符集最重要的参数是NLS_LANG参数。 它的格式如下:   NLS_LANG = language_territory.charset 它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。 其中: Language 指定服务器消息的语言,territory 指定服务器的日期和数字格式,charset 指定字符集。如:AMERICAN _ AMERICA. ZHS16GBK 从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。 所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。 二.查看数据库字符集 这涉及三方面的字符集, 一是oracel server端的字符集; 二是oracle client端的字符集; 三是dmp文件的字符集。

JDBC进行Oracle数据库操作。

*爱你&永不变心* 提交于 2020-03-15 17:33:02
1,按照Oracle 2,创建数据库脚步 DROP TABLE person ; DROP SEQUENCE myseq ;//设置自增序列。 CREATE SEQUENCE myseq ; CREATE TABLE person ( id INT PRIMARY KEY NOT NULL , name VARCHAR(50) NOT NULL , age INT , birthday DATE ) ; 3,之后配置驱动程序。 4,执行: 取得程序:DBDRIVER = "oracle.jdbc.driver.OracleDriver", JDBC地址:DBURL = "jdbc:oracle:thin:@localhost:1521:sys" package 类集; import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import java.sql.PreparedStatement ; public class JDBCOracle{ // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ; //

Oracle 11g R2的卸载与重装

烈酒焚心 提交于 2020-03-15 17:26:12
  Oracle 11gr2的完全卸载方式与前些版本有了改变,运行D:\app\Administrator\product\11.2.0\dbhome_1\deinstall的deinstall.bat批处理文件卸载,全程代码如下: Checking for required files and bootstrapping ... Please wait ... 复制了 14 个文件 复制了 611 个文件 已复制 1 个文件。 已复制 1 个文件。 Location of logs C:\Users\ADMINI~1\AppData\Local\Temp\OraDeinstall周六-09-04_12- 13-55\logs\ ############ ORACLE DEINSTALL & DECONFIG TOOL START ############ ######################## CHECK OPERATION START ######################## 安装检查配置开始 检查 Oracle 主目录位置是否存在 D:\app\Administrator\product\11.2.0\dbhome_1 选择进行卸载的 Oracle 主目录类型为: SIDB 选择进行卸载的 Oracle 基目录为: D:\app\Administrator

Oracle数据库安装时 environment variable path 大于 1023

拜拜、爱过 提交于 2020-03-15 13:17:21
提示的内容如下: 打开系统的环境变量设置, 编辑Path,全选将其中的路径全部复制出来放到文本文档中。新建一个系统变量取名 Path_Old_1 ,剪切Path中的所有变量复制进path1然后保存,将Path中全选删除改为默认值。 最后在这个默认值后添加%Path_Old_1%引用Path_Old_1即可保存。 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem; %Path_Old_1%; 参考文章: 安装oracle环境变量path的值大于1023的解决办法 来源: https://www.cnblogs.com/arxive/p/6882389.html

pgpool postgresql集群、中间件

ε祈祈猫儿з 提交于 2020-03-15 12:50:21
pgpool-II是一个工作于PostgreSQL服务器端和PostgreSQL客户端之间的中间件,它提供了如下的功能: 1.连接池   pgpool-II中保存了到PostgreSQL服务器的连接,然后当一个有着同样属性(也就是说用户名,数据库,协议版本相同)的新连接请求到来时,重用保存在pgpool-II中的连接。这样可以减轻连接的开销,改进这个系统吞吐量。 2.复制   pgpool-II能够管理多个PostgreSQL服务器。运用复制功能来在2个或者多个物理磁盘上创建数据库的实时备份,这样当一个磁盘出现故障时,系统 还能够继续提供服务。 3.负载平衡    假设一个数据库复制成多个,无论在哪一个数据库服务器上执行Select查询都会返回相同的结果。pgpool-II利用了复制的特点,通过将Select查询步骤分配到多个数据库服务器上来减少每一个数据库服务器的负载,这样做改进了系统整体的吞吐量。系统性能将随着服务器的数量成比例的提高。当有许多用户同时执行多个请求时,负载平衡的优点就能很好体现出来。 4.限制多余的连接    PostgreSQL数据库有一个最大并发连接数的限制,超过这个限制数的连接将会被拒绝。虽然能更改最大连接数,但是增加了资源消耗,影响了系统性能。pgpool-II也有最大连接数的限制,但是多余的连接将会被排成队列的形式等待,而不是马上返回一个错误的信息。

IMC平台 EAD服务器数据库无法连接故障处理

…衆ロ難τιáo~ 提交于 2020-03-15 12:30:23
今天早上EAD服务器数据库无法连接,直接导致我5K用户无法登陆.接下来终结一下故障处理情况。 1、故障现象 数据库无法连接,导致终端用户无法登陆 处理方法: 1、检查IMC平台用户是否有用户登陆,没有发现用户上线,就表明,数据库故障所有用户都无法登陆。 2、在IMC服务器上查下图进程,这个进程是管理数据库的。重启这个进程可以尝试解决故障。 我是到这一步后,故障得到解决。下图是恢复情况。 来源: https://www.cnblogs.com/luojiangjun/p/12496715.html