加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

LINUX学习:Linux将MySQL数据库目录挂载至新数据盘

发布时间:2020-12-13 17:36:40 所属栏目:Linux 来源:网络整理
导读:《LINUX学习:Linux将MySQL数据库目录挂载至新数据盘》要点: 本文介绍了LINUX学习:Linux将MySQL数据库目录挂载至新数据盘,希望对您有用。如果有疑问,可以联系我们。 对于Linux系统来说,挂载磁盘的办法其实都大同小异,所以本文以CentOS系统为例,介绍下Lin

《LINUX学习:Linux将MySQL数据库目录挂载至新数据盘》要点:
本文介绍了LINUX学习:Linux将MySQL数据库目录挂载至新数据盘,希望对您有用。如果有疑问,可以联系我们。

对于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
Partition
1 does not end on cylinder boundary.
/dev/xvda2? *? ? ? ? 523? ? ? ? 5222? ? 37747712? 83? Linux

Disk
/dev/xvde: 322.1 GB,322122547200 bytes
255 heads,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 a
new DOS disklabel with disk identifier 0x590ca8b1.
Changes will remain
in 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 (m
for help): n
Command action
? e? extended
? p? primary partition (
1-4)
p
Partition number (
1-4): 1
First cylinder (
1-39162,default 1):
Using
default value 1
Last cylinder,
+cylinders or +size{K,M,G} (1-39162,default 39162):
Using
default value 39162

Command (m
for help): p

Disk
/dev/xvde: 322.1 GB,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 (m
for 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目录树,而不是直接看到硬盘上的实际目录树.
依照我对? ? 这篇文章所描述的粗浅理解,当你挂载某个设备到一个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

本文永远更新链接地址

编程之家PHP培训学院每天发布《LINUX学习:Linux将MySQL数据库目录挂载至新数据盘》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读