这几天在接触 InfluxDB 这个时序数据库,从官网上下载了windows 版本的程序,里面有个 influxdb.conf 文件,如里面的注释所述,可以修改其数据库的保存位置,但是经过修改后发现怎么都无法生效。网上都是通篇一律的复制粘贴。
后来经过反复的摸索,得出正确的步骤:
1、对于 windows 平台,配置文件里的路径必须使用双斜杠 \,看起来 influxd.exe 在解析的时候会有转义方面的影响,有点奇怪。
2、需要使用参数启动, influxd.exe -config influxdb.conf。结合网上的说法,最好是使用一个批处理文件,这样可以同时设置 set HOME=c:\influxdb,貌似有人遇到过程序在运行期间找不到环境变量的问题。
如果有同学经过上面的步骤还是有问题的话,就可能是权限的问题了。我开始自己创建的 data/meta/wal 文件夹,发现没有效果后,就干脆先用默认的配置启动,然后复制程序自动创建的文件夹。经过对比,发现文件夹的权限不完全一样。因为这个拷贝的事情先发生了,也懒得去确认这个这个是不是关键因素了。
在备份SQL Server 数据库时候,想要将备份文件放在非系统盘目录下,结果提示错误信息:
备份对于服务器“服务器名”失败。无法打开备份设备’f:\abc.bak’。出现操作系统错误5(拒绝访问。)。
一直不知道是什么原因,每次都是偷懒拉倒,还是备份到SQL Server默认的那个层级很深的目录里。今天就去搜索了下,网上说是SQL Server的一个Bug 坑。
解决方法是:不能将备份文件放在盘符的根目录下,必须放在一个非根目录下,否则就会报错。
试了一下,果然就解决了,太神奇了。
最近几天发现网站数据没有变化,还以为是数据同步发生了错误,今天登录服务器,日志显示了大量的未能为数据库 ‘*’中得对象’*’分配空间,因文件组’PRIMARY’已满错误。
网上搜索发现是数据库文件的体积有限制导致,后来发现数据库原来是在虚拟主机运行的,运营商对数据库做了限制,而我迁移到自己的服务器上后直接附加的数据库,所以这个限制也一起带过来了。
解决方法也比较简单,选择数据库,右键属性, 在“文件”标签页里设置数据库为不受限制,确定即可。
最近在不断地清空数据库的表,人工操作起来稍显的麻烦了点,放上SQL语句,以备后用。
–/第1步**********删除所有表的外键约束*************************/
DECLARE c1 cursor for select ‘alter table [‘+ object_name(parent_obj) + ‘] drop constraint [‘+name+’]; ‘ from sysobjects where xtype = ‘F’ open c1 declare @c1 varchar(8000) fetch next from c1 into @c1 while(@@fetch_status=0) begin exec(@c1) fetch next from c1 into @c1 end close c1 deallocate c1
–/第2步**********删除所有表*************************/
declare @sql varchar(8000) while (select count(*) from sysobjects where type=’U’)>0 begin SELECT @sql=’drop table ‘ + name FROM sysobjects WHERE (type = ‘U’) ORDER BY ‘drop table ‘ + name exec(@sql) end