Linux將MySQL資料庫目錄掛載至新數據盤

来源:http://www.cnblogs.com/chenjianxiang/archive/2017/06/21/7060304.html
-Advertisement-
Play Games

對於Linux系統來說,掛載磁碟的方法其實都大同小異,所以本文以CentOS系統為例,介紹下Linux系統磁碟掛載方法,前面大部分內容源於天翼雲的論壇。1.查看磁碟情況使用命令fdisk -l # 列出全部磁碟信息 2.創建分區 fdisk /dev/xvde # 對xvde硬碟進行分區 n # 創 ...


對於Linux系統來說,掛載磁碟的方法其實都大同小異,所以本文以CentOS系統為例,介紹下Linux系統磁碟掛載方法,前面大部分內容源於天翼雲的論壇。
1.查看磁碟情況
使用命令fdisk -l # 列出全部磁碟信息

[root@qxyw ~]# 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, 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@qxyw ~]# 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, 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 (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@qxyw ~]# 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@qxyw ~]# 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@qxyw home]# mount /dev/xvde1 /home/mysql
[root@qxyw 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.ibm.com/developerworks/cn/linux/l-vfs/這篇文章所描述的粗淺理解,當你掛載某個設備到一個VFS掛載點上時(比如/home),系統就把VFS中的這個掛載點/home指向你最後所掛載的那個設備上。那麼你現在訪問該掛載點時,就會看到你最後掛載在此處的設備。而之前所掛載的設備依然在那裡,只不過掛載點/home已經不再指向之前的設備。你可以把原來的設備卸載以後掛載到一個新的掛載點上來訪問。

5.將磁碟UUID寫入fstab

對於Linux系統來說,磁碟xvda和xvde的分區是根據系統啟動時識別的先後順序來排列,這樣就會出現一個當主機重啟後,出現跳盤的情況,為了避免此情況的發生,就需要我們將磁碟的UUID信息寫入fstab文件,將分區與磁碟綁定。
1)通過blkid獲得磁碟分區的UUID
[root@qxyw ~]# 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@qxyw /]# cd home
[root@qxyw home]# mkdir mysql
[root@qxyw home]# mv /var/lib/mysql/* /home/mysql
[root@qxyw home]# ln /home/mysql /var/lib/mysql


7.驗證一下,通過df命令查看磁碟的使用情況。然後進入mysql命令,創建資料庫test1...,執行之後會在/home/mysql/文件夾下出現資料庫test1,另外使用df命令查看磁碟使用情況。會發現/dev/xvde1使用量在增長。

[root@qxyw 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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • module.exports,exports,export和export default,import與require區別與聯繫 ...
  • 列印 PMIC register value 方式有二種, 一種是使用 adb shell cat pmic register 一種是直接在 code 裡 call dump pmic register function, 一直在 log 中印出 pmic register. ...
  • import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExc... ...
  • 先給大家上個gif 要不然下麵很枯燥 忘記原來在哪裡看到了..... 這個效果我找了NNNNNN長時間,,,我認為憑我現在的能力 寫出來需要好久 所以 退而求其次找大神寫好的... 你們不要小看了這個 我整整找了三四天才找到這個一個符合的(就一個 我的蒼天) 廢話不多說直接上代碼 step 1 添加 ...
  • device tree source Example1 Example2 Example3 ...
  • 1、yum install redis --查看是否有redis yum 源 2、yum install epel-release --下載fedora的epel倉庫 3、 yum install redis -- 安裝redis資料庫 4、service redis start Redirecti ...
  • 最近突然發現我們部署在資料庫上面的告警(Alert),當錯誤日誌裡面出現錯誤時,並不是每個錯誤日誌都會發送郵件出來。如下所示,設置了告警“SQL Server Severity Event 14” USE [msdb] GO IF NOT EXISTS(SELECT 1 FROM msdb.dbo.... ...
  • 本人翻譯自: http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/ServiceLevelAuth.html 譯註:相對於kerberos等等而言,這個顯得簡單得多,但作用也不小。在無法知道用戶密碼或者無法接近 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...