《LINUX学习:Linux将MySQL数据库目录挂载至新数据盘》要点:
本文介绍了LINUX学习:Linux将MySQL数据库目录挂载至新数据盘,希望对您有用。如果有疑问,可以联系我们。
对于Linux系统来说,挂载磁盘的办法其实都大同小异,所以本文以CentOS系统为例,介绍下Linux系统磁盘挂载办法,前面大部分内容源于天翼云的论坛.
1.查看磁盘环境
使用命令fdisk -l # 列出全部磁盘信息
2.创建分区
fdisk /dev/xvde # 对xvde硬盘进行分区
n # 创建一个新分区
p # 创建一个主分区(e为扩展分区)
1 # 1表示第一个主分区
回车 # 从第1柱面开始分区
回车 # 表示整个xvde全写入第1分区(若需要将sdb分为多个分区,此时输入+分区大小)
P # 查看下已创建好的分区
w # 保留并退出
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目录树,而不是直接看到硬盘上的实际目录树.
依照我对 这篇文章所描述的粗浅理解,当你挂载某个设备到一个VFS挂载点上时(比如/home),系统就把VFS中的这个挂载点/home指向你最后所挂载的那个设备上.那么你现在访问该挂载点时,就会看到你最后挂载在此处的设备.而之前所挂载的设备依然在那里,只不过挂载点/home已经不再指向之前的设备.你可以把原来的设备卸载以后挂载到一个新的挂载点上来访问.
5.将磁盘UUID写入fstab
[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
本文永远更新链接地址:
维易PHP培训学院每天发布《LINUX学习:Linux将MySQL数据库目录挂载至新数据盘》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。