首页 > 语言 > 关键词   >  MySQL数据库最新资讯  > 正文

MySQL数据库磁盘优化

2008-11-24 17:32 · 稿源:it168.com

在MySQL 4.0以前,除非特别小心否则不要链接数据表。有一个问题是,当在一个符号链接表上执行 ALTER TABLE, REPAIR TABLE, 或 OPTIMIZE TABLE 时,符号链接就会被删除然后替换成原来的文件。这是因为执行这些语句时,需要在数据库目录下创建临时文件,然后在操作完成后把临时文件替换到原来的文件中去。

最好不要在不能很好支持 realpath() 调用的操作系统上链接数据表(不过至少Linux和Solaris支持 realpath())。执行 SHOW VARIABLES LIKE 'have_symlink' 语句来检查你的系统是否支持符号链接。

在MySQL 4.0,MyISAM 表完全支持符号链接。而其他表类型如果也做符号链接的话,则很可能在执行语句前会碰到一些奇怪的问题。

MySQL 4.0中的 MyISAM 表符号链接以如下方式工作:

在数据目录下,总是有表定义文件,以及数据文件,以及索引文件。数据和索引文件可以被移动到任何处然后用符号链接代替,但是表定义文件不可以。

可以分别把数据和索引文件链接到不同目录下。

在 mysqld 没有运行时可以用命令行 ln -s 手工完成符号链接。如果用SQL,可以在 CREATE TABLE 时使用选项 DATA DIRECTORY 和 INDEX DIRECTORY 告诉服务器使用符号链接。详情请看"14.2.6 CREATE TABLE Syntax"。

myisamchk 不会替换符号链接的数据或索引文件。它直接在符号链接指向的文件上操作。任何临时文件都创建在数据或索引文件所在的目录下。

当删除一个符号链接的表后,链接表及其指向的表都会被删除。这就是为什么不能以 root 身份运行 mysqld 的原因,同样地,不要允许用户有权写MySQL数据库目录。

如果用 ALTER TABLE ... RENAME 语句重命名一个表且没有把它移动到其他数据库下,那么在数据库目录下的文件就被改名了,相应地,它指向的数据或索引文件也改名了。

如果用 ALTER TABLE ... RENAME 语句把表移动到其他数据库下,则这个表就移动到其他数据库目录下。旧的链接及其所指向的文件都被删掉。换言之,新的表就不再被符号链接了。

如果没有使用符号链接,那么就给 mysqld 增加选项 --skip-symbolic-links

确保无人能删除或重命名数据文件目录以外的文件。

在MySQL 4.0.15以前, SHOW CREATE TABLE 语句不会报告一个表是否有符号链接。mysqldump 也一样,它是用 SHOW CREATE TABLE 来产生 CREATE TABLE 语句的。

表符号链接操作还不支持:

ALTER TABLE 操作会忽略 DATA DIRECTORY 和 INDEX DIRECTORY 表选项。

BACKUP TABLE 和 RESTORE TABLE 也没考虑符号链接。

`.frm` 文件肯定不能被符号链接(在前面提到,索引及数据文件可以被符号链接)。企图这么做(比如用同义)的话就会导致一些错误。假设有在数据库目录下有一个数据库 db1,库里有一个表 tbl1,在 db1 目录下把 tbl2 符号链接到 tbl1:

shell> cd /path/to/datadir/db1

shell> ln -s tbl1.frm tbl2.frm

shell> ln -s tbl1.MYD tbl2.MYD

shell> ln -s tbl1.MYI tbl2.MYI

现在如果有一个线程读取 db1.tbl1 而另一个线程更新 db1.tbl2 时就有问题了:

查询缓存就会被愚弄了(它认为 tbl1 没有被更新,因此返回out-of-data结果)。

在 tbl2 上执行 ALTER 语句也会失败。

1.3 在 Windows 上符号链接数据库

从MySQL 3.23.16开始,Windows上支持用 -DUSE_SYMDIR 选项编译 mysqld-max 和 mysql-max-nt 服务器。这就可以通过符号链接把一个数据库放在其他磁盘上。这跟在Unix上做符号链接相似,只是设置过程不大一样而已。

从MySQL 4.0开始,默认支持符号链接。如果不需要,用 skip-symbolic-links 选项关闭它。

[mysqld]

skip-symbolic-links

在MySQL 4.0以前,默认不支持符号链接。想要支持它,就要在 `my.cnf' 或 `my.ini' 文件中增加如下内容:

[mysqld]

symbolic-links

在Windows上,在MySQL数据文件目录下创建一个包含目标目录路径的文件来做符号链接。这个文件的名字叫 `db_name.sym`,db_name 是数据库的名字。

假设MySQL数据文件目录是 `C:\mysql\data',现在想要把数据库 foo 放在 `D:\data\foo` 目录下。按以下方法设置:

确认 `D:\data\foo` 目录存在,如果有必要就创建它。如果在数据文件目录下已经存在一个数据库目录名为 `foo`,那么就把它移动到下 `D:\data`。否则,符号链接就不生效。移动数据库的时候最好不要运行服务器,以避免可能出现的问题。

创建一个文件 `C:\mysql\data\foo.sym`,它的内容是路径 D:\data\foo\。

之后,数据库 foo 下的所有表都会创建到`D:\data\foo` 下。注意,如果在MySQL数据文件目录下已经存在该数据库目录,那么就不会使用符号链接了。

举报

  • 相关推荐
  • 大家在看
  • AI驱动全域进化,金仓数据库以“融合”重构数据基座

    7月15日,电科金仓在京举办"融合进化+智领未来"主题产品发布会,推出多款AI时代数据库产品:KES V92025融合数据库具备多语法体系兼容、多集群架构等特性,性能提升30%;KEMCC统一管控平台实现跨云环境数据库管理;云数据库AI版集成高性能硬件与AI大模型;KFS Ultra智能数据集成平台支持百种数据源。中国人民大学教授王珊指出,数据库与AI深度结合已成释放数据价值关�

  • O域核心!金仓数据库支撑海南移动核心故障管理系统升级上线

    中国移动海南公司成功升级国产化核心故障管理系统"O域",采用金仓数据库技术支持。该系统创新构建五位一体监控体系,实现故障处理效率指数级提升。通过全栈国产化突破,采用分布式数据核心架构,实现99.999%高可用性和毫秒级响应。在2024年超强台风"摩羯"登陆期间,系统凭借同城双中心灾备架构稳定运行,保障了通信命脉。金仓数据库通过PLSQL优化、固定缓冲池等核心技术,使系统性能显著提升:告警分析速度提升450%,拓朴查询效率跃升644%,历史数据清理效率提高7倍,存储空间降低12%。

  • 万里数据库GreatDB亮相上合组织数字经济论坛 与哈萨克斯坦人工智能发展协会签署合作协议

    2025年7月11日,上海合作组织数字经济论坛在天津开幕。论坛由国家数据局与天津市政府联合主办,丁薛祥副总 理出席并致辞。会上,万里数据库与哈萨克斯坦人工智能发展协会签署合作协议,推出GreatDB上合版数据库产品。该产品具有安全可信、生态兼容、高性能等优势,是中国首个进入上合框架的标准化数据库产品。论坛汇聚600余位中外政要、企业代表和专家学者,共商数�

  • 金仓数据库26周年|淬火砺重器,万里再扬帆

    金仓数据库26年发展历程:从萨师煊教授70年代引入数据库概念,到王珊教授团队1999年创立金仓公司实现产业化突破,见证了中国数据库从无到有的发展。金仓坚持自主创新,打造KES融合数据库产品体系,拥有700多项专利,服务金融、能源等国家重点行业,装机量超百万套。公司构建产学研生态,培养数万名专业人才,推动国产数据库生态建设。站在新起点,金仓将继续以自主可控技术支撑千行百业数字化转型,助力数字中国建设。

  • 忆联 Docker+MySQL 流控方案:打造安全高效存储底座,释放 AI 极致性能

    文章探讨了在AI时代背景下,基于Docker部署MySQL数据库的高效解决方案。通过Docker容器化技术,MySQL实现了灵活部署、资源高效利用和稳定隔离性,成为AI应用的首选数据库方案。测试结果显示,采用PCIe5.0企业级SSD配合Namespace技术和QoS优化策略,能精准控制性能偏差在2%以内,在混合读写场景下更可控制在1%以内。该方案显著提升了存储资源管理效率,为AI应用提供稳定可靠的数据存储支持,同时降低企业TCO成本,推动数据价值释放。

  • 最新AI模型哪里看?8个国内优质AI模型库与获取渠道盘点

    文章探讨大模型API价格战背景下,开源模型+本地微调成为降本增效的新趋势。当前典型工作流已转变为:GitHub找代码→Hugging Face找权重→国内镜像站下载→本地/云端微调。模型库成为生产链起点而非单纯资源站。建议从三个维度筛选模型:1)协议类型决定商用权限;2)框架兼容性避免格式转换;3)场景标签匹配度节省检索时间。推荐8个国内优质模型获取渠道,包括AIbase(2.3万+模型)、阿里ModelScope(社区活跃)、百度EasyDL(零代码友好)等,各平台在电商、语音、交通等垂直领域各有优势。最后给出快速检索建议:商用需求优先查协议,垂直场景找专业平台,追踪更新可订阅RSS。

  • 硬盘丢失了数据怎么恢复?硬盘数据恢复的6种方法

    文章分析了硬盘数据丢失的常见原因及恢复方法。数据丢失主要源于人为误操作、硬件故障、软件系统问题和环境因素四类。针对不同情况,介绍了6种恢复方法:回收站还原、系统版本回退、备份还原、Mac系统的TimeMachine、命令行操作以及专业数据恢复软件。其中专业软件如转转大师能深度扫描硬盘,支持多种文件格式恢复,操作简便且成功率高。文章强调数据丢失后应避免写入操作,根据实际情况选择合适恢复方式,并建议做好日常备份预防数据丢失。

  • 还在搜“最新AI产品”?这个AI产品库让你领先99%的人!

    文章介绍AIbase产品库,这是一个专注于AI工具导航的平台。它通过每日更新全球最新AI产品、精准分类(如写作、绘画、视频生成等)、多维度筛选(价格、功能、平台)和真实用户评价,帮助用户高效发现优质AI工具。平台覆盖办公提效、创意设计、编程开发等场景,解决信息过载问题,让用户能快速找到适合自己需求的AI解决方案。

  • AIbase完整评测:20,000+AI工具库深度解析

    AIbase是一个强大的AI工具导航平台,收录超过2万个AI工具并每日更新。它通过智能搜索、精准分类和用户友好界面,帮助开发者、设计师、营销人员和普通用户快速找到适合的AI工具。平台提供写作助手、视频编辑、代码生成等各类工具,并支持多语言访问。AIbase的核心优势在于庞大的数据库和高效更新机制,解决了用户在AI工具海洋中筛选的痛点。虽然存在用户深度评价不足�

  • AIbase完整评测:20,382+AI工具库背后的秘密

    AIbase.com是一个强大的AI工具发现平台,拥有超过20,382个AI工具的庞大数据库,每日持续更新。平台通过智能搜索和15+分类体系(如AI写作、视频编辑、代码生成等)帮助用户快速定位所需工具。作者通过实际案例展示了AIbase如何提升工作效率300%,包括快速找到社交媒体文案生成器、视频编辑工具和代码生成器等。平台优势在于工具数量庞大、分类精准、搜索高效,但也存在用户

这篇文章对你有价值吗?

今日大家都在搜的词: