linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux及计算机学科基础理论版 >

Linux将MySQL数据库目录挂载至新数据盘

时间:2017-06-22  来源:未知  作者:admin666

对于Linux系统来说,挂载磁盘的方法其实都大同小异,所以本文以CentOS系统为例,介绍下Linux系统磁盘挂载方法,前面大部分内容源于天翼云的论坛。

1.查看磁盘情况
使用命令fdisk -l # 列出全部磁盘信息

[root@ linuxidc.com ~]# fdisk -l

Disk/dev/xvda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x0008a9a5

Device Boot          Start        End      Blocks  Id  System
/dev/xvda1              1        523    4194304  82  Linux swap / Solaris
Partition1 does not end on cylinder boundary.
/dev/xvda2  *        523        5222    37747712  83  Linux

Disk/dev/xvde: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x00000000


2.创建分区
 fdisk /dev/xvde # 对xvde硬盘进行分区
  n  # 创建一个新分区
  p  # 创建一个主分区(e为扩展分区)
  1  # 1表示第一个主分区
  回车  # 从第1柱面开始分区
  回车  # 表示整个xvde全写入第1分区(若需要将sdb分为多个分区,此时输入+分区大小)
  P  # 查看下已创建好的分区
  w  # 保存并退出

[root@ linuxidc.com ~]# fdisk /dev/xvde
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building anew DOS disklabel with disk identifier 0x590ca8b1.
Changes will remainin memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
        switch off the mode (command 'c') and change display units to
        sectors (command'u').

Command (mfor help): n
Command action
  e  extended
  p  primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-39162, default 1):
Usingdefault value 1
Last cylinder,+cylinders or +size{K,M,G} (1-39162, default 39162):
Usingdefault value 39162

Command (mfor help): p

Disk/dev/xvde: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x590ca8b1

    Device Boot      Start        End      Blocks  Id  System
/dev/xvde1              1      39162  314568733+  83  Linux

Command (mfor help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.


3.创建分区文件系统并格式化磁盘
# mkfs.ext4 /dev/xvde1 # 将xvde1以ext4格式进行格式化

[root@ linuxidc.com ~]# mkfs.ext4 xvde1
mke2fs 1.41.12 (17-May-2010)
Could not stat xvde1 --- No such file or directory

The device apparently does not exist; did you specify it correctly?
[root@ linuxidc.com ~]# mkfs.ext4 /dev/xvde1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
19660800 inodes, 78642183 blocks
3932109 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
2400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.


4.在home目录下面创建文件夹mysql,并且将设备挂载至/home/mysql。

[root@ linuxidc.com home]# mount /dev/xvde1 /home/mysql
[root@ linuxidc.com home]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2             36G  2.4G   32G   7% /
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/xvde1            296G  191M  281G   1% /home/mysql


假如原来文件夹中有文件挂载之后文件会消失并且出现lost+found文件夹,这时不用担心,可以用umount命令进行取消挂载。
原因是这样的。
这个牵扯到linux的VFS(虚拟文件系统)机制。登录以后,你看到的各个目录,文件都是内核在加载时候构造在内存中的VFS目录树,而不是直接看到硬盘上的实际目录树。
按照我对  http://www.linuxidc.com/Linux/2017-06/1450.htm  这篇文章所描述的粗浅理解,当你挂载某个设备到一个VFS挂载点上时(比如/home),系统就把VFS中的这个挂载点/home指向你最后所挂载的那个设备上。那么你现在访问该挂载点时,就会看到你最后挂载在此处的设备。而之前所挂载的设备依然在那里,只不过挂载点/home已经不再指向之前的设备。你可以把原来的设备卸载以后挂载到一个新的挂载点上来访问。

5.将磁盘UUID写入fstab

对于Linux系统来说,磁盘xvda和xvde的分区是根据系统启动时识别的先后顺序来排列,这样就会出现一个当主机重启后,出现跳盘的情况,为了避免此情况的发生,就需要我们将磁盘的UUID信息写入fstab文件,将分区与磁盘绑定。
1)通过blkid获得磁盘分区的UUID
[root@ linuxidc.com ~]# blkid
/dev/xvda1: UUID="5546dd0c-ef40-451b-b266-df8ef3a49967" TYPE="swap" 
/dev/xvda2: UUID="77fc0962-b3cf-400a-8903-0632e077fa09" TYPE="ext3" 
/dev/xvde1: UUID="1d17945b-c369-42de-85a8-47217d24d3e5" TYPE="ext4"

2)通过vim /etc/fstab在最后一行添加xvde1的磁盘信息

#
# /etc/fstab
# Created by anaconda on Thu Jan 12 02:47:21 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=77fc0962-b3cf-400a-8903-0632e077fa09 /                       ext3    defaults        1 1
UUID=5546dd0c-ef40-451b-b266-df8ef3a49967 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
UUID=d17945b-c369-42de-85a8-47217d24d3e5 /home/mysql ext4 defaults      0 0


6.将/var/lib/mysql/下的内容转移至/home/mysql/,并且在/var/lib/下创建mysql的链接,实际目录其实为/home/mysql

[root@ linuxidc.com /]# cd home
[root@ linuxidc.com home]# mkdir mysql
[root@ linuxidc.com home]# mv /var/lib/mysql/* /home/mysql
[root@ linuxidc.com home]# ln /home/mysql /var/lib/mysql


7.验证一下,通过df命令查看磁盘的使用情况。然后进入mysql命令,创建数据库test1...,执行之后会在/home/mysql/文件夹下出现数据库test1,另外使用df命令查看磁盘使用情况。会发现/dev/xvde1使用量在增长。

[root@ linuxidc.com mysql]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2            37155392   2417608  32850400   7% /
tmpfs                  4018012         0   4018012   0% /dev/shm
/dev/xvde1           309633052    217092 293687524   1% /home/mysql
友情链接