IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者
首页 / Everyday NetLog
IT 2018-07-05 13:43:57 / 累计浏览 3,200

分表优化:千万级数据的插入方法

这篇讲的是对千万级数据进行分表存储时,如何高效地查询和迁移数据。作者没有停留在理论层面,而是直接给出了实操性很强的PostgreSQL SQL片段。 具体来说,文章先展示了两种从数字字段中提取首位字符的查询写法:一种是标准的子字符串函数调用,另一种是更常见的简写形式。核心技巧在于,作者演示了如何利用这类字符串函数作为条件,通过一条 `INSERT INTO ... SELECT` 语句,将特定规则(例如 `adv_id` 首位为‘2’且 `media_id` 首位为‘6’)的数据批量复制到新的分表中。 通过循环执行这样的复制操作,就能相对快速地完成海量数据的拆分。文章虽然简短,但抓住了分表场景中一个非常实际的动作——数据如何根据规则“落库”,并给出了清晰的语法参考。对于正在处理类似数据迁移或分表任务的开发者来说,这种直接可套用的片段往往比长篇大论更实用。

本机暂存
IT 2013-02-27 23:15:37 / 累计浏览 9,760

PHP的异常原理与实例说明 Fatal error: Uncaught exception

这篇讲的是PHP 5之后引入的面向对象异常处理机制。作者从基础的try-catch语法和throw抛出异常讲起,清晰展示了异常发生时脚本流程如何被中断和捕获。 文章的重点在于自定义异常类的实现。通过继承内置的Exception类,开发者可以创建符合业务逻辑的特定异常,并在catch块中进行针对性处理。文中给出了一个自定义邮件验证异常的例子,直观展示了如何封装错误信息。 当然,仅抛出异常是不够的。文章明确指出,如果抛出的异常没有被任何catch块捕获,就会导致“Fatal error: Uncaught exception”这个常见的致命错误。这正是许多开发者在实际项目中遇到的“坑”,文章通过实例说明了问题的成因,并提供了通过正确设计try-catch流程来预防和解决的思路。

本机暂存
IT 2013-01-10 22:22:41 / 累计浏览 4,700

flv网页播放器源码

这篇来自作者的一次实际需求解决过程——帮朋友弄清楚,为什么从优酷等网站下载的flv文件,用传统的Flash SWF播放器代码无法正常播放。 问题的根源在于播放器参数配置。传统的通用播放器代码缺少针对flv格式的必要声明。作者最终给出的方案是,使用一段标准的嵌入代码,其中关键在于movie参数的地址格式:必须是一个支持flv流的播放器swf文件(例如代码中的zhoz_play.swf),并通过特定的参数(vcastr_file)来传递实际的视频文件路径。 这段代码的核心思路很直接:利用一个已经封装好flv解码和控制功能的第三方播放器文件,前端只需提供它正确的URL和视频文件地址。文中给出的代码片段包含了allowFullScreen等常用参数,并说明了width/height的自定义方式。 这种实现方式通用性强,只要网页允许插入Flash对象,基本都能工作。作者也指出了其限制——在部分对HTML标签有严格限制的网页上无法使用。对于需要快速嵌入flv播放功能的开发者来说,这提供了一个开箱即用的参考,只需将“1.flv”替换为实际的视频地址即可。

本机暂存
IT 2012-12-13 13:35:57 / 累计浏览 3,660

linux 定期自动备份mysql的shell

这篇讲的是,一位作者从保障用户数据安全的实际需求出发,分享了一个简洁实用的MySQL自动备份方案。 他编写了一个Shell脚本,核心是利用`mysqldump`工具导出服务器上所有的数据库,并通过管道用`gzip`进行高压缩存储。脚本通过配置`crontab`定时任务,设定在每天凌晨3点自动执行,实现了完全无人值守的备份流程。 方案的一个关键设计在于备份文件的自动轮转清理。脚本采用目录轮转的方式(`backup.0`至`backup.4`),每次执行前会先删除最旧的一天备份,然后生成新的备份文件,从而确保服务器磁盘空间始终只被最近5天的备份占用,避免了存储空间无限增长的问题。 文章直接提供了完整的脚本代码,包括数据库连接信息、文件路径定义和命令组合等,读者可以根据自身环境稍作修改后直接使用。作者也提醒,从安全角度考虑,执行备份的脚本应使用Root权限,这提醒了读者在自动化运维中需兼顾权限管理。整个方案轻量、可靠,非常适合中小型项目或个人服务器进行日常数据保护。

本机暂存
IT 2010-06-05 11:44:20 / 累计浏览 4,600

SSH下连接Oracle的方法

这篇讲的是一个SSH登录后操作Oracle数据库时遇到的典型环境问题。作者从ssh进入Linux服务器、切换到oracle用户并加载环境变量开始,演示了使用sqlplus以sysdba身份登录数据库的标准流程。然而,在执行一个简单的查询表名操作时,系统却返回了ORA-01219错误,明确指出“数据库未打开,只允许查询固定表/视图”。 这个错误点很关键,它并非连接问题或权限问题,而是指向了数据库实例的状态。通常,这意味着数据库虽然启动了,但还没有完成打开(open)阶段,可能需要执行`ALTER DATABASE OPEN;`命令来完成最后一步操作。作者用“困了,想睡觉了……”这句吐槽,生动地还原了运维开发人员在深夜排障时的心境——明明每一步都按部就班,却卡在了这种看似基础的环节上。 文章的价值就在于这个真实的“坑”。它提醒我们,在SSH连接并操作Oracle时,除了关注网络连通、用户权限、环境变量这些常见项,还需要留意数据库本身的状态。这个案例对那些习惯于图形化界面工具、而对命令行运维不太熟悉的开发者来说,是个不错的提醒。

本机暂存
IT 2010-06-03 13:32:21 / 累计浏览 3,960

oracle查看字符集 修改字符集

这篇文章记录了作者在实际运维中尝试修改Oracle数据库字符集的完整过程与踩坑经历。文章首先清晰讲解了如何通过`nls_database_parameters`、`nls_instance_parameters`等视图查看服务器、客户端和会话的字符集设置,明确了它们之间的层级关系。 核心部分围绕修改字符集展开。作者先尝试了直接的`ALTER DATABASE CHARACTER SET`命令,但遭遇了`ORA-00933`和`ORA-24329`错误。接着,文章通过查询`V$NLS_VALID_VALUES`展示了可用的字符集列表,并尝试了使用`internal_use`关键字进行修改。然而,最终这些在测试环境中并未成功,作者分享了这个“未通过”的结果,并给出了最终的解决方案——重装数据库。 这篇文章的价值在于它真实呈现了字符集修改这一操作的复杂性与风险性,通过具体的命令尝试和错误反馈,提醒读者在生产环境中进行此类操作前务必周全测试与备份。对于遇到类似字符集迁移问题的技术人员,它是一个很好的前车之鉴。

本机暂存
IT 2010-04-29 23:35:33 / 累计浏览 2,880

修改/重置mysql root密码

这篇记录的是处理 MySQL 忘记 root 密码这一常见故障的完整方案。文章直接切入问题核心:在 Windows 或 Linux 环境下,当无法通过密码登录数据库时,该如何重置权限。 核心解决思路是通过临时修改配置文件,让 MySQL 跳过权限验证表(skip-grant-tables)来启动。具体操作分为四步:先编辑对应系统的配置文件(Windows 的 my.ini 或 Linux 的 /etc/my.cnf)并加入跳过验证的指令;随后重启 MySQL 服务;接着无需密码即可登录,并使用 UPDATE 语句直接更新 root 密码;最后还原配置文件并再次重启,使新密码生效。 作者在文中清晰区分了 Windows 和 Linux 下的不同命令与路径,比如服务重启命令和配置文件位置,使得步骤具有很强的实操性。这是一篇典型的故障排查指南,它没有复杂的原理剖析,而是提供了明确、可跟做的解决路径,帮助读者快速恢复数据库访问。

本机暂存
IT 2010-03-26 14:23:50 / 累计浏览 4,820

php获取网卡MAC地址类

这篇讲的是如何用PHP获取网卡MAC地址,解决一个实际的业务小问题——判断用户是否在同台机器上重复登录。作者从这个场景出发,找到了一个通过记录MAC地址来实现的思路,并分享了对应的PHP类方法。 实现方式比较直接,核心是通过调用系统底层命令来获取网卡信息,然后解析并返回到一个数组中。对于需要区分或验证用户登录设备来源的场景,这个方法提供了一个轻量且有效的技术思路,代码示例清晰,拿来就能用。

本机暂存
IT 2010-03-24 23:37:49 / 累计浏览 4,440

php 返回目录下的所有文件名/文件夹类

这篇讲的是如何用PHP快速获取指定目录下的所有文件与子文件夹名称。文章从解决“读取目录树”这一常见需求出发,直接展示了具体的实现代码,核心思路是利用PHP内置的目录处理函数(如`scandir`、`opendir`等)遍历并返回目录内容。作者提供了可直接复制运行的代码示例,清晰呈现了从打开目录、逐条读取到关闭目录流的完整流程,其中包含对“.”和“..”这类特殊路径的过滤处理。 对于需要在项目中快速实现文件列表功能、或想了解PHP文件系统操作基础的同学,这篇文章给出了一个轻量且可直接应用的方案。代码片段虽简短,但完整覆盖了主要操作步骤,方便读者根据实际需求调整为返回数组或进行其他处理。

本机暂存
IT 2010-03-09 09:11:31 / 累计浏览 5,840

mysqldump 导出/导入数据库/表

这篇详细拆解了MySQL数据备份与迁移工具mysqldump的实际用法。作者从基础命令格式入手,清晰地讲解了三种核心调用场景:导出整个数据库、仅导出指定表、以及只导出不含数据的表结构。 文章的重点在于实用示例。它给出了导出整个数据库、单个表、纯结构文件的具体命令,并解释了 `-d` 和 `--add-drop-table` 这类关键参数的作用。对于导入,则比较了两种常用方法:在MySQL命令行内使用 `source` 命令,以及在系统终端通过管道重定向直接导入,并提示了指定字符集的必要性。 文中还特别指出了一个容易被忽略的性能细节:如果未使用 `--quick` 选项,导出大数据库时可能会因内存耗尽而失败。同时提醒,当新版本导出的数据需在旧版MySQL中恢复时,应避免使用 `--opt` 等高级选项以保证兼容性。这些经验性的提示,让文章不仅停留在命令手册层面,更贴近了日常运维的实际。

本机暂存
IT 2009-12-24 23:51:01 / 累计浏览 4,600

pqsql/mysql单表导出与导入命令

这篇文章详细比较了 PostgreSQL 与 MySQL 在单表数据导出与导入上的具体操作差异。对于经常需要在两个主流数据库间迁移数据,或只针对特定表进行备份恢复的开发者来说,这是一个非常实用的对照指南。 核心内容聚焦于操作命令层面。文章不仅给出了 MySQL 下利用 `mysqldump` 配合 `--where` 等参数导出指定表(或表的子集)再导入的标准流程,也介绍了 PostgreSQL 中使用 `pg_dump` 与 `pg_restore` 完成类似任务的命令与技巧。这些步骤通常是在进行数据迁移、测试环境数据准备或快速备份时用到的。 作者指出了二者的关键区别:MySQL 的操作相对直接,常与 SQL 语句紧密结合;而 PostgreSQL 的工具链更为独立,生成的是自定义格式的归档文件,恢复时也遵循特定的工具逻辑。理解这些差异,能帮助开发者根据具体场景和数据库特性,选择更高效、更可靠的数据搬运方案。

本机暂存
IT 2009-11-26 23:12:58 / 累计浏览 4,820

独创比百度、Google分页还强的分页类

这篇讲的是作者在游戏开发之余,花十天打磨了一个分页组件,号称比百度、Google的分页逻辑更合理。传统分页在页数多时,往往显示大量中间页码,容易让用户迷失;而这个方案通过动态计算,只显示当前页前后的几个关键页码,同时始终保留首页和尾页。 例如,在一个50页的列表里:第1页显示“1 2 3 4 5 >> 50”,第5页变成“1 << 3 4 5 6 7 >> 50”,到了第7页则是“1 << 5 6 7 8 9 >> 50”,末尾页则简化显示为“1 << 46 47 48 49 50”。这种设计在页数多时尤其能提升导航效率,避免用户不断点击省略号或翻页。 作者将核心逻辑封装成独立方法,方便后续项目直接复用和维护,属于一次从需求出发的轻量级技术创新。

本机暂存