Articles of 数据库

实例在线时移动MySQL数据库

我有一个包含大量数据库的MySQL实例,其中一个数据库是一个归档数据库(尽pipe使用INNODB而不是ARCHIVE存储引擎),在正常操作中不会被查询或写入。 数据文件系统已经满了,我想将归档数据库的数据目录移动到不同的文件系统(然后显式地将其链接回去)。 如果在移动过程中没有SQL语句尝试查询或更新数据,那么在MySQL实例和其他数据库保持联机并正在使用的情况下,我可以安全地执行此操作吗? 我打算将数据库目录rsync同步到新的文件系统,然后将原始文件系统上的旧目录重命名为不同的东西,并创build新的符号链接。 lsof报告MySQL确实打开了.ibd文件,所以推测它必须重新打开它们。

保护远程数据库连接的性能问题

我参与创build一个系统,在这个系统中,Web应用程序和数据库不会托pipe在同一个局域网或广域网上,即数据将通过公共networking传输。 networking服务器和数据库服务器将位于同一个国家。 由于数据通信需要安全,我正在研究几个选项: 选项1:Web服务器和数据库服务器之间的IPsec隧道 选项2:在Web服务器和数据库服务器之间使用SSLencryption数据 为了给出一些背景,Web应用程序的目的是从数据库中呈现数据(主要是graphics坐标,文本标签等),所以对于每个页面请求,将有1-2个数据库请求返回10-100个logging。 问题: How much will encryption degrade the application performance? How much will having disparate locations for web and database servers affect performance? Would there be a performance difference between the two options? 我仍然在研究,但任何帮助将不胜感激,我知道这个问题有点一般,所以一般的答案是好的,或者这种types的不同服务器模型的经验也将是伟大的! 我读过这篇文章: https : //stackoverflow.com/questions/548029/how-much-overhead-does-ssl-impose

用复制的数据*和*自己的数据创build一个testing数据库

我想创build一个testing数据库,每天使用生产数据库中的数据进行刷新。 但是 ,我想能够在testing数据库中创buildlogging,并保留它们而不是被覆盖。 我想知道是否有一个简单的方法来做到这一点。 这两个数据库运行在同一台服务器上,显然是排除了复制? 澄清,这是我想要发生的事情: testing数据库是使用生产数据创build的 我创build了一些我想要在testing服务器上运行的testinglogging(基本上我可以创build一些我可以玩的示例logging) 第二天,数据库被完全刷新,但是当天创build的logging被保留。 那天未被触动的logging被生产数据库中的loggingreplace。 这很复杂,如果删除了生产数据库中的一个logging,我也希望它在testing数据库上也被删除,所以我想删除testing数据库中不再存在于生产数据库中的logging,除非这些logging在testing数据库中创build。 看起来像这样做的唯一方法是有一些表存储关于正在创build的logging的元数据? 举个例子,像这样的东西: CREATE TABLE MetaDataRecords ( id integer not null primary key auto_increment, tablename varchar(100), action char(1), pk varchar(100) ); DELETE FROM testdb.users WHERE NOT EXISTS (SELECT * from proddb.users WHERE proddb.users.id=testdb.users.id) AND NOT EXISTS (SELECT * from testdb.MetaDataRecords WHERE testdb.MetaDataRecords.pk=testdb.users.pk AND testdb.MetaDataRecords.action='C' AND […]

大post服务器错误

在一个大的drupal站点上,数据库服务器位于直接连接到Web服务器的单独的服务器上。 Web服务器使用apache和memcached。 问题是,每当post很大,比如大于10KB,服务器不能正确返回。 我检查了Apache和MySQL日志,但无法find任何logging错误的痕迹。 当我使用nginx / php5-fpm而不是apache时,错误也会发生。 尽pipe如此,大post是注册,但不正确,以便他们显示为pipe理员,当我在网站上打开一个新的页面。 我真的很困惑,并感谢您的提示,以查明可能的来源,如果这个长期的问题。

网站searchfunction从一个位置,但不是另一个位置

我工作的公司在美国总务pipe理局(US General Administration Administration)的政府项目中做了很多工作。 他们的网站位于这里 。 在过去的两周内,我们无法在本网站上执行search。 该网站将加载罚款,但search总是超时(错误消息说无法连接到169.254.0.0,这让我觉得这是一个networking问题)。 我首先以为他们的数据库有问题,所以我通知他们的IT人员。 但是,今天他们告诉我,问题不在他们的最后。 只是踢,我VNC在家里的机器,并试图复制这个问题。 令人惊讶的是,一切正常运作! 所以这个问题似乎与我们公司的位置有关。 可以使用Chrome,Firefox和IE在Linux和Windows计算机上复制问题。 尝试删除caching,cookies等刷新的DNS。 我在这里拉我的头发。 有什么build议么?

-fixcolnames在日志parsing器2.2中做什么?

我正在使用Logparser 2.2试图将填充了性能计数器信息的.csv带入SQL数据库,并使用下面的命令行命令: logparser "Select * into IISCounters from C:\Logfiles\IIS_Log.csv" -i:CSV -o:SQL -server:MJNHNX4 -database:PerfmonCounters -driver:"SQL Server" -fixcolnames:ON -createTable:ON 它正在寻找的文件具有非常奇怪的标头名称,如: \\perfiis06\network interfaceintel[r] pro_1000 mt network connection _2\bytes received/sec和\\perfiis06\network interfaceisatap.{3ab7a9d7-115b-4e2a-b7e3-613e431174a3}\bytes received/sec所以以前我只是find并replace所有非字母数字字符,并将数据中。但是,我期待尝试避免将来的工作(我注意到,日志parsing器已据说这样做的 – -fixcolnames开关)。 但是,当我尝试只使用该开关时,出现以下错误: [Microsoft][ODBC SQL Server Driver]Syntax error or access violation 这不是访问冲突,因为它是在指定数据库的DBO的pipe理员用户下运行的,所以这很可能是列名的错误。 这引出了一个问题…… -fixcolnames到底做-fixcolnames什么?

nodejs postgresql数据库连接string

有没有一种方法,我可以在复制环境中指定(包括)主服务器和从服务器在nodejs db(postgresql)连接string? 我的目标是“如果主人失望,那么读/写应该去奴隶”

mongodb在尝试同步数据时保持循环

我把我的独立的mongodb转换成副本集。 我已经添加了一个成员(并且我想以后再添加两个成员,并closures主服务器)。 我的主要mongodb运行2.2.3,并且运行最新版本的mongodb 2.6.4的新副本成员。 这两个数据库的运行在Ubuntu服务器14.04,在微软Azure和他们正在运行在相同的亲和组。 (Vm尺寸是A2) 我已经编辑了“nofile”和“nproc”的ulimit到65535,在看到MMMS监控build议之后,BUT只在副本上,以避免机器的重启时间,是否有必要? 我在主数据库上find了一个超过80米的文件,并在现场制作中运行。 这是否是这样的? 经过几个小时的同步数据,TTL显示以下错误,并开始重新同步。 并保持循环。 [rsSync]完成build立底层,即将提交 [rsSync]旧的日志文件将被删除:/datadrive/data/journal/j._9 [rsSync]build立索引完成。 扫描55381316总logging。 1348.97秒 [conn221] serverStatus非常慢:{after basic:0,after assert:0,after backgroundFlushing:0,after connections:0,after cursorors:0,after dur:0,after extra_info:0,after globalLock:0,after indexCounters:0,锁后:0,网后:0,后opcounters:0,后opcountersRepl:0,后recordStats:744214,后repl:744214,在末尾:744214} [conn221] command admin。$ cmd command:serverStatus {serverStatus:1} keyUpdates:0 numYields:0 locks(micros)r:31 reslen:3920 1243515ms [conn228] serverStatus很慢:{后基本:0,后断言:0,之后backgroundFlushing:0,后连接:0,后游标:0,后dur:0,后extra_info:0,后globalLock:0,后indexCounters:0,锁后:0,网后:0,后opcounters:0,后opcountersRepl:0,后recordStats:634932,后repl:634932,在末:634932} [conn228] command admin。$ cmd command:serverStatus {serverStatus:1} keyUpdates:0 numYields:0 locks(micros)r:33 reslen:3920 1073310ms [conn235] serverStatus很慢:{后基本:0,后断言:0,之后backgroundFlushing:0,后连接:0,后游标:0,后dur:0,后extra_info:0,后globalLock:0,后indexCounters:0,锁后:0,网后:0,后opcounters:0,后opcountersRepl:0,后recordStats:578551,后repl:578551,在末尾:578551} [conn235] command […]

使用数据库来存储文本文件和图像

我需要build立一个图像/静态文件caching,可能会从1kb到〜200kb主机可能有几百到几千个静态文件。 我需要超快速读取(我正在使用redis,但它是一个线程,我不知道它是如何群集工作,因为它在testing中,我需要有多个caching服务器)。 我试过了:Redis,ElasticSearch和MongoDB。 你可以请给我一些build议,哪个数据库软件将是最好的: TTL或类似的东西 非常快的读取 聚类并不重要,但是如果有的话就好了 如果你决定冷静地知道你们中的很多人会做什么,请让我知道你为什么这么做。

pipe理在多个环境中使用API​​创build的数据

我有我的应用程序的暂存和生产环境,并存储在我的数据库中的Stripe::Customer ID。 偶尔,我想将生产数据复制到暂存数据库中,但是Stripe::Customer ID不再起作用,因为它们最初是使用实时Stripe API密钥创build的,而暂存服务器则configuration为使用testingAPI密钥。 在具有不同API密钥的环境之间迁移数据是否有最佳做法?