1. 使用Symbolic Links分布I/O

mysql的数据库名和表名是与文件系统的目录名和文件名对应的,默认情况下,创建的数据库和表都存放在参数datadir定义的目录下。如果不使用RAID或逻辑卷,所有的表都放在一个磁盘设置上,无法发挥多磁盘并行读写的优势。这种情况,我们可以利用操作系统的符号连接(Symbolic Links)将不同的数据库或表,索引指向不同的物理磁盘,从而达到分布磁盘I/O的目的。

-- 查看文件路径
SHOW GLOBAL VARIABLES LIKE "%datadir%";

  

-- 查看mysql下文件目录
[root@xuegod64 ~]# cd /var/lib/mysql

  

  (1) 将一个数据库指向其他物理磁盘

   其方法是先在目标磁盘上创建目录,然后再创建从mysql数据目录到目标目录的符号连接:使用mkdir 创建目录
    
    然后再创建从mysql数据目录到目标目录的符号连接
    

  (2) 将myisam (其它存储引擎的表不支持) 表的数据文件或索引文件指向其他物理磁盘。

对于新建的表,可以通过在create table语句中增加 data directory 和index directory选项来完成例如 :
    
  对于已有的表,可以先将其数据文件(.MYD)或索引文件(.MYI)转移到目标磁盘,然后再建立符号连接即可,需要说明的是表定义文件(.frm)必须位于mysql数据文件目录下,不能用符号连接。

2. 禁止操作系统更新文件的atime属性

  atime是linux/unix系统下的一个文件属性,每当读取文件时,操作系统都会将读操作发生的时间回写到磁盘上。 对于读写频繁的数据库文件来说,记录文件的访问时间一般没有任何用处,去会增加磁盘系统的负担,影响I/O的性能。通过设置文件系统的mount属性,阻止操作系统写atime信息。具体做法是修改文件系统配置文件/etc/fstab,指定noatime选项。
  

  

3. 用裸设备(Raw Device)存放innodb的共享表空间

在innodb缓存充足的情况下,可以考虑使用Raw Device来存放Innodb共享表空间。如果将其表和索引存储在裸设备(Raw Device)上,从而绕过了文件系统的高速缓存和缓冲器而直接访问磁盘,那么将大大降低Linux文件系统的负担,使系统性能获得显著改善。需要设置 innodb_data_file_path。
  转载: 为MySQL数据库的InnoDB引擎配置裸设备(Raw Device)

  总结:本章从操作系统的角度介绍了如何对mysql数据库进行优化,主要是讨论i/o的优化问题,文件系统分布的优化问题。由于涉及到操作系统,待以后在去深入。

mysql 开发进阶篇系列 22 磁盘I/O问题(从linux操作系统上优化)的更多相关文章

  1. mysql 开发进阶篇系列 21 磁盘I/O问题(RAID)

    一.概述 作为应用系统的持久化层,不管数据库采取了什么样的Cache机制,数据库最终总是要将数据储存到可以长久保存的I/O设备磁盘上.但磁盘的存取速度显然要比cpu,ram的速度慢很多.因此,对于比较 ...

  2. mysql 开发进阶篇系列 55 权限与安全(安全事项 )

    一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysql的安全问题进行了解. 1. 严格控制操作系统账号和权限 在数据库服务器上要严格控制操作系统的账号和权限, ...

  3. mysql 开发进阶篇系列 47 物理备份与恢复(xtrabackup 的完全备份恢复,恢复后重启失败总结)

    一. 完全备份恢复说明 xtrabackup二进制文件有一个xtrabackup --copy-back选项,它将备份复制到服务器的datadir目录下.下面是通过 --target-dir 指定完全 ...

  4. mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)

    一. xtrabackup 选项说明 在操作xtrabackup备份与恢复之前,先看下该工具的选项,下面记录了xtrabackup二进制文件的部分命令行选项,后期把常用的选项在补上.点击查看xtrab ...

  5. mysql 开发进阶篇系列 42 逻辑备份与恢复(mysqldump 的完全恢复)

    一.概述 在作何数据库里,备份与恢复都是非常重要的.好的备份方法和备份策略将会使得数据库中的数据更加高效和安全.对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下: (1) 确定要备份的表的存 ...

  6. mysql 开发进阶篇系列 20 MySQL Server(innodb_lock_wait_timeout,innodb_support_xa,innodb _log_*)

    1. innodb_lock_wait_timeout mysql 可以自动监测行锁导致的死锁并进行相应的处理,但是对于表锁导致的死锁不能自动监测,所以该参数主要用于,出现类似情况的时候等待指定的时间 ...

  7. mysql 开发进阶篇系列 10 锁问题 (相同索引键值或同一行或间隙锁的冲突)

    1.使用相同索引键值的冲突 由于mysql 的行锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同行的记录,但如果是使用相同的索引键,是会出现锁冲突的.设计时要注意 例如:city表city_ ...

  8. mysql 开发进阶篇系列 4 SQL 优化(各种优化方法点)

    1 通过handler_read 查看索引使用情况 如果索引经常被用到 那么handler_read_key的值将很高,这个值代表了一个行被索引值读的次数, 很低的值表明增加索引得到的性能改善不高,索 ...

  9. mysql 开发进阶篇系列 2 SQL优化(explain分析)

    接着上一篇sql优化来说 1. 定位执行效率较低的sql 语句 通过两种方式可以定位出效率较低的sql 语句. (1) 通过上篇讲的慢日志定位,在mysqld里写一个包含所有执行时间超过 long_q ...

随机推荐

  1. SSM框架集成及配置详解(Maven管理)

    一.pom.xml(依赖管理) <?xml version="1.0" encoding="UTF-8"?> <project xmlns=& ...

  2. 2019.03.28 bzoj3597: [Scoi2014]方伯伯运椰子(01分数规划)

    传送门 题意咕咕咕有点麻烦不想写 思路: 考虑加了多少一定要压缩多少,这样可以改造边. 于是可以通过分数规划+spfaspfaspfa解决. 代码: #include<bits/stdc++.h ...

  3. Python的基本类型介绍和可变不可变

    Python的基本类型介绍 前言 做python有一段时间了,从工作开始就在不断地学习和积累.但是有时候用到一些技术点,甚至是基础知识的时候,总是会遗忘.所以,从今天开始,就在这里记录下来,不仅可以分 ...

  4. 15. Life Cycle of the Products 产品的生命周期

    15. Life Cycle of the Products 产品的生命周期 (1) We can see how the product life cycle works by looking at ...

  5. Educational Codeforces Round 58 (Rated for Div. 2) D 树形dp + 数学

    https://codeforces.com/contest/1101/problem/D 题意 一颗n个点的树,找出一条gcd>1的最长链,输出长度 题解 容易想到从自底向长转移 因为只需要g ...

  6. KITTI数据集的使用——雷达与相机的数据融合

    目录 目的 如何实现 kitti数据集简介 kitti数据集的raw_data 利用kitti提供的devkit以及相应数据集的calib文件 解读calib文件夹 解读devkit 目的 使用雷达点 ...

  7. 与我们息息相关的internet服务(2)---WWW服务

    在起步一个公司,从组建的技术上,可能要准备很多东西,其中一个就是我们熟悉的公司网站    网站,在初中,那时浏览一个网页可叫网上冲浪,听起来似乎比洗澡还爽快,可现在这词就是土鳖,网上冲浪火起来主要是应 ...

  8. ServiceStack.OrmLite 入门(一)

    软件环境: Win7 x64 SP1 SQL Server 2008r2 Visual Studio 2017 Professional 目标:取出示例数据库 ReportServer 的表 Role ...

  9. 《python语言程序设计》_第5章_循环

    #5.1_引言 程序1: 结果: 程序2: 结果: sum is 45 ##注意整个循环语句都要内缩进循环内部 ##ctrl+c中止一个无限循环运行 程序清单5-1: 结果: #5.2.1_实例研究: ...

  10. Pi的计算

    百度百科           圆周率用希腊字母 π(读作pài)表示,是一个常数(约等于3.141592654),是代表圆周长和直径的比值.它是一个无理数,即无限不循环小数.在日常生活中,通常都用3. ...