你在这里


数据库

在Drupal中直接导入、使用数据库

James Qi 2016年9月27日 - 15:15 发布

  我们这边从一开始使用Drupal就是利用的其本身的数据库结构,page, node, taxonomy, term等等都是使用Drupal本身的概念,很少直接操作数据,需要大量已有数据(一般是csv格式文件)导入网站的时候,就用第三方模块node_import (Drupal 6)或者feeds (Drupal 7)来设置和进行导入,形成页面以及分类,再辅助设置Views进行需要的列表。

  以上的办法相对来说简单易行,特别是在使用Drupal初期,我们对PHP程序和MySQL数据库不很熟悉的情况下。但在一些需要实现复杂一些功能的时候,这样的办法就有局限性,不方便实现数据库关联(虽然views也有关联功能,但内容类型、分类等牵扯起来搞得很复杂)、不利于用户浏览性能提升(数据量可能增大了很多倍,访问效率低下),数据量庞大的时候,更新也不便(曾经为更新一个系列网站重新导入花几个月)。

  后来也曾经在部分网站中直接添加数据库表,然后编写PHP程序对表进行查询,这样可以实现比较灵活的设置,但对数据库技术的要求高一些,修改起来比较麻烦。

自由标签:

在阿里云RDS数据库服务器中将MySQL InnoDB引擎表转为压缩格式

James Qi 2015年10月26日 - 16:56 发布

  今年以来将我们以前托管或者租用的服务器全面转向阿里云,除了采用ECS服务器以外,还有一项重要的是采用了RDS数据库服务器,这对于服务的稳定性、各项指标的监控、调优等都有帮助。

  不过随着近期更多数据库转到RDS上,空间的占用、IOPS的升高等问题也越来越明显,增加RDS空间、升级RDS规格肯定是有用的,但一味这样做的话,费用会明显飙升,还是得想办法优化。

  前一阵子也《试用阿里云RDS的MySQL压缩存储引擎TokuDB》,但因为文件数太多超过系统限制而放弃,也尝试过MyISAM引擎和InnoDB引擎的压缩方式,但阿里云客服说MyISAM已经不支持,所以剩下压缩这种方式现在又拿出来尝试。

Drupal 6数据库MyISAM转InnoDB后性能下降打补丁

James Qi 2015年7月20日 - 14:50 发布

  周末把云数据库RDS进行了配置升级,上面的一些站点数据表从MyISAM转为了InnoDB,今天早上来发现IOPS异常升高,网站打开困难,查看实时实例会话,发现有很多这样的语句堆积:

SELECT COUNT(pid) FROM url_alias

  在Google中搜索了一下,这篇文章说明很多人也遇到过这种问题COUNT(*) is an expensive query in InnoDB.,Drupal 6默认的数据库表引擎是MyISAM,上面那句统计数量的查询语句瞬间可以执行完,但对InnoDB引擎来说需要全表扫描来获得统计数据,当我们网站的页面数量众多的时候,就非常消耗数据库服务器的资源。而Pressflow版本就针对性解决了这样的问题:What makes Pressflow scale: #1 faster core queries,而Drupal 7的默认引擎是InnoDB,应该也不存在这样的问题。

Drupal多站点共用用户数据库

James Qi 2015年3月26日 - 14:59 发布

  我们以前做的系列Drupal网站一般都是共享代码目录、分开创建独立的数据库,因为一般都是禁止匿名用户注册的,所以只是最初设立几个管理员就可以,也还方便。不过为了考虑以后开放用户注册,系列网站的共享用户数据库就有必要了。今天去尝试了一些,可以比较方便地在settings.php中进行如下设置:

Drupal 7:

自由标签:

MySQL迁移到新数据库服务器后负载急剧升高的问题

James Qi 2015年2月26日 - 10:51 发布

  春节前忙着把一些网站从自己独立托管的服务器搬迁到阿里云的平台中去,以前自己的服务器都是购买的顶配硬件(几年前就是16核、64G内存、8块硬盘),安装Linux+Apache+MySQL+PHP在同一台机器上,现在用了云服务器ECS做Web服务器,用云数据库RDS做MySQL服务,应该来说更合理,不过实际运行中也遇到问题。

  先搬迁了几个小的网站,数据量不大、访问量不大,所以搬迁过去没有什么大的负载,ECS/RDS以及带宽什么都很富裕。但在搬迁一个数据量偏大、访问量也较大的网站时遇到问题,RDS的CPU总是100%,不运行自动检测超时MySQL进程并自动杀死该进程的脚本就完全不行,运行后算是可以维持,但一部分页面超时报错。

  我查看了一下,主要是MediaWiki的包含动态页面列表DPL扩展的页面报错,怀疑是RDS配置选的过低,数次升级硬件配置、费用也在不断升高,从260M到600M、1200M、2400M都还是不行,后来不知道怎么碰巧就好了,此后负载一直非常低、用高配置RDS明显有很大浪费,于是我又申请了一个新的RDS,准备迁移数据后退掉老的高配RDS,但在新的RDS上遇到同样的问题,从260M升级到600M、1200M后问题依然存在,我知道再升级也没用,还是有其它问题。

列出MySQL数据库服务器上所有库和表及引擎属性

James Qi 2014年5月2日 - 23:30 发布

  最近在对国内服务器进行硬盘的替换升级的时候,发现有一台服务器把数据库迁移到新硬盘后,以前的老硬盘依然非常繁忙(用iostat检查),仔细查看后,发现有一些MySQL数据库用的InnoDB格式,即使把数据库目录搬迁后,实际数据依然放置在以前的硬盘上。

  Drupal 7默认是采用InnoDB数据库引擎以利用其一些独特的特性,但我们的系列网站数据量很大,需要分散放置各子网站的数据库才好,所以我们都是改为使用MyISAM数据库,以前曾经修改过Drupal的Core文件来实现数据库引擎的变更,但这在Drupal系统升级的时候就丢失了,这样导致一些新建网站的数据库表,以及一些老网站中部分升级新产生的数据表,都采用了InnoDB引擎。

  以前发现上面这样的情况,我们都是单独修改引擎或者用程序批量修改,这在我以前的一篇博客文章《将Drupal 7默认的MySQL引擎从InnoDB改为MyISAM》中有记录,现在依然采用这个办法来批量修改。

名录集新增中国各行业展会数据库

James Qi 2012年12月25日 - 00:05 发布

  中国各地每年会举行大量的展览会,各种范围、各种行业的都用,近期获得了一批近年来举行的各种展会资料,刚做成了“中国各行业展会数据库”网站,简介如下:

中国各行业展会数据库属于名录集旗下子网站,提供在中国各地举行的不同范围展会信息,目前包含2008年-2012年,各个行业435个权威展会的参展商信息,包括单位名称、地址、邮编、联系人、电话、传真、网址、邮箱等资料。
 

如需购买下载名录数据,请进入2008-2011年2012年各行业展会参展商名录-商业数据库超市。

  一共有14万多家参展商,按照435个展会进行了分类,这些展会分类又被我们按照多种方式进行了划分,我们为展会分类exhibition添加了些附加的字段:

数据销售:170万条邮政编码信息Access数据库

数据简介

  本数据是与邮编库网站保持一致的邮政编码信息。共有170余万条邮政编码数据,城市精确到街道,农村精确到村组,每条数据包括省份、地市、区县、详细地址和邮政编码。可以供企事业单位、个人查找邮政编码使用,也可以供相关数据分析研究使用。

付款信息

  • 一口价:人民币600元
  • 付款方式:支付宝、网上银行、柜台转账、邮局汇款、贝宝(PayPal)等

包含内容

  每条邮政编码信息包含:

更改数据库用户名、密码,站点管理员登录密码,加强安全性

James Qi 2010年12月11日 - 16:16 发布

  最近在启用新的Drupal平台以及升级MediaWiki系统的时候,感觉以前的登录密码、MySQL数据库连接密码都太简单,前些天将各网站登录密码进行了修改,由简单的英文小写单词改为英文大小写、数字以及标点符号组成的强力密码,避免可能遇到的破解危险。

  我们的MediaWiki平台连接数据库使用的用户名、密码都不复杂,而且用了好些年,根据新安装Drupal时的建议,今天在MySQL中新建了管理员账户,设置了足够复杂的密码,然后修改了以前MediaWiki和Drupal配置文件中的设置,测试一切正常。下周让同事将备份等操作的用户名密码也进行修改,全部完成后将以前的用户名、密码进行修改处理,这样用起来就放心多了。

  有几点注意事项记录一下:

订阅 RSS - 数据库