将MySQL的作为文件系统使用(2)_MySQL
bitsCN.com
因为FUSE可以让你以任何奇怪的方式安装文件系统,理所当然地,用户安装FUSE客户端文件系统的能力也必须受到用户所在组权限的限制。下面是一个例子,在一开始,用户没有安装文件系统的权限,被拒绝安装。然后,我将自己加入到相应的用户组后重新登录,初始的MySQLfs文件系统和数据库都是空的,使用df命令可以显示内核已经知道被安装的文件系统。在例子的结尾,fusermount命令将用户创建的FUSE文件系统卸载了。
$ mkdir ~/mysqlfs
$ mysqlfs -ohost=localhost -odatabase=mysqlfs ~/mysqlfs
* Opening logfile 'mysqlfs.log': OK
fuse: failed to open /dev/fuse: Permission denied
$ su -l
root# usermod -a -G fuse ben
root# exit
$ exit
...
$ id
uid=500(ben) gid=500(ben) groups=492(fuse), ...
$ mysqlfs -ohost=localhost -odatabase=mysqlfs ~/mysqlfs
* Opening logfile 'mysqlfs.log': OK
$ ls -ld mysqlfs
drwxr-xr-x 1 root root 0 2008-01-24 16:24 mysqlfs
$ df -h mysqlfs .
Filesystem Size Used Avail Use% Mounted on
mysqlfs 0 0 0 - /home/ben/mysqlfs
/dev/sdc3 16G 4.4G 11G 31% /home
$ ls -l mysqlfs
total 0
$ fusermount -u mysqlfs
既然我们已经拥有权限,可以将MySQL安装为FUSE文件系统,接下来,让我们复制一些文件到MySQL数据库中,使之与文件系统相结合。在下面的例子中,我将项目Gutenberg的一些文本文件复制到MySQLfs并验证它们在读取的时候,与原始文件有同样的MD5返回值。然后,我将Linux文件tarbar复制到MySQLfs,想看看MySQLfs是如何处理一个44M文件的。
通过冷磁盘高速缓存将内核从/tmp目录备份到/tmp目录需要花2秒,而将之复制到MySQLfs将花费20秒,为了利用磁盘中的缓存,马上将上述操作再次执行,/tmp目录下的备份花费0.3秒,而复制到MySQLfs中依旧花费20秒。这说明,写操作是MySQLfs的主要瓶颈。当读取内核的时候,MySQLfs似乎缓存了一些数据,这使得响应时间大大快于其他测试。如果你的文件系统经常用到读操作,则MySQLfs将是一个有意思的选择,因为MySQLfs的缓存可以派上用场。
~]$ cp -av /.../guten ./mysqlfs/
`/.../guten' -> `./mysqlfs/guten'
`/.../guten/alice13a.txt' -> `./mysqlfs/guten/alice13a.txt'
`/.../guten/boysw10.txt' -> `./mysqlfs/guten/boysw10.txt'
`/.../guten/dmoro11.txt' -> `./mysqlfs/guten/dmoro11.txt'
~]$ cd ~/mysqlfs/guten
guten]$ ls -l
-rw-r----- 1 ben ben 153477 2008-01-12 13:23 alice13a.txt
-rw-rw---- 1 ben ben 48923 2008-01-12 13:23 boysw10.txt
-rw-rw---- 1 ben ben 259214 2008-01-12 13:23 dmoro11.txt
guten]$ md5sum *
135e06ad31b169065bccbf03ec7236f2 alice13a.txt
7dd30f1b37e32cdb5d21fe992bbf248d boysw10.txt
87c05f11193c0e05b3d0dec0808a0450 dmoro11.txt
guten]$ md5sum /.../guten/*
135e06ad31b169065bccbf03ec7236f2 /.../guten/alice13a.txt
7dd30f1b37e32cdb5d21fe992bbf248d /.../guten/boysw10.txt
87c05f11193c0e05b3d0dec0808a0450 /.../guten/dmoro11.txt
guten]$ cd ..
mysqlfs]$ time cp /tmp/linux-2.6.23.tar.bz2 .
real 0m16.278s
user 0m0.006s
sys 0m0.531s
mysqlfs]$ time cat linux-2.6.23.tar.bz2 >/dev/null
real 0m0.502s
user 0m0.004s
sys 0m0.035s
mysqlfs]$ time dd if=linux-2.6.23.tar.bz2 of=/tmp/junk bs=1024 count=1024
1048576 bytes (1.0 MB) copied, 0.0200973 s, 52.2 MB/s
real 0m0.058s
user 0m0.003s
sys 0m0.013s
mysqlfs]$ time dd if=linux-2.6.23.tar.bz2 of=/tmp/junk bs=1024 count=1024 skip=9000
1048576 bytes (1.0 MB) copied, 0.0214207 s, 49.0 MB/s
real 0m0.031s
user 0m0.001s
sys 0m0.011s
虽然被很多人所不齿,但我还是决定在Bonnie++文件系统下使用MySQLfs。我通过虚拟机进行了这些测试,由于是在虚拟机中,性能可能会呈线性下降,但由于MySQL数据库和/tmp目录存储于同一虚拟硬盘上,其性能比还是有效的。
在如下的结果中,你能看到,在运行Bonnie++ (version 1.03a-7)时,MySQLfs的速度是/tmp/bonnie (ext3)的十分之一。这说明,我们并不太想使用MySQLfs来直接存储邮件目录。Bonnie++被设计成适合在本地内核文件系统上工作而非FUSE,这种定位非常适用于大行文件的读写。
$ /usr/sbin/bonnie++ -d /tmp/bonnie
Version
1.03
------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine
Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP
/sec %CP
v8tsrv
2G 18155
31 16726
5 13338
6 26207
46 74527
24
9840 144
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files
/sec %CP
/sec %CP
/sec %CP
/sec %CP
/sec %CP
/sec %CP
16 24878
94 +++++ +++ +++++ +++ 29018
99 +++++ +++ +++++ +++
$ /usr/sbin/bonnie++ -d ~/mysqlfs/bonnie
Version
1.03
------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine
Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP
/sec %CP
v8tsrv
2G
2615
5
1207
1
1323
1
2143
2
2363
0 138.1
0
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files
/sec %CP
/sec %CP
/sec %CP
/sec %CP
/sec %CP
/sec %CP
16
186
2
505
1
296
2
209
2
441
1
282
2

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Win11系統無法安裝中文語言包的解決方法隨著Windows11系統的推出,許多用戶開始升級他們的作業系統以體驗新的功能和介面。然而,一些用戶在升級後發現他們無法安裝中文語言包,這給他們的使用體驗帶來了困擾。在本文中,我們將探討Win11系統無法安裝中文語言套件的原因,並提供一些解決方法,幫助使用者解決這個問題。原因分析首先,讓我們來分析一下Win11系統無法

隨著社群媒體的迅速發展,小紅書已經成為了備受青睞的社群平台之一。用戶可以透過建立小紅書號來展示個人身份,並與其他用戶交流互動。如果你需要找某個用戶的小紅書號碼,可以按照以下簡單步驟來操作。一、如何用小紅書號找出用戶? 1.開啟小紅書APP,點選右下角的「發現」按鈕,然後選擇「筆記」選項。 2.在筆記清單中,找到你想找的用戶發布的筆記。點擊進入筆記詳情頁。 3.在筆記詳情頁中,點選使用者頭像下方的「追蹤」按鈕,即可進入該使用者的個人首頁。 4.在使用者個人主頁右上角,點選三個點按鈕,然後選擇「個人資訊

您可能無法在OracleVirtualBox中將來賓新增安裝到虛擬機器。當我們點擊Devices>;InstallGuestAdditionsCDImage時,它只會拋出一個錯誤,如下所示:VirtualBox-錯誤:無法插入虛擬光碟C:將FilesOracleVirtualBoxVBoxGuestAdditions.iso編程到ubuntu機器中在這篇文章中,我們將了解當您無法在VirtualBox中安裝來賓新增元件時該怎麼辦。無法在VirtualBox中安裝來賓添加如果您無法在Virtua

在Ubuntu系統中,root使用者通常是停用狀態的。要啟動root用戶,可以使用passwd指令設定密碼,然後使用su-指令以root身分登入。根用戶是具有系統管理權限且不受限制的使用者。他擁有存取和修改檔案、使用者管理、軟體安裝和刪除,以及系統配置變更等權限。根用戶與一般用戶有著明顯的區別,根用戶擁有系統中最高的權限和更廣泛的控制權。根用戶可以執行重要的系統命令和編輯系統文件,而普通用戶則無法做到這一點。在本指南中,我將探討Ubuntu根用戶,如何以根用戶身份登錄,以及它與一般用戶的不同之處。注意

如果你已經成功下載了百度網盤的安裝文件,但是無法正常安裝,可能是軟體文件的完整性發生了錯誤或者是殘留文件和註冊表項的問題,下面就讓本站來為用戶們來仔細的介紹一下百度網盤下載成功但是安裝不了問題解析吧。 百度網盤下載成功但是安裝不了問題解析 1、檢查安裝檔完整性:確保下載的安裝檔完整且沒有損壞。你可以重新下載一次,或者嘗試使用其他可信任的來源下載安裝檔。 2、關閉防毒軟體和防火牆:某些防毒軟體或防火牆程式可能會阻止安裝程式的正常運作。嘗試將防毒軟體和防火牆停用或退出,然後重新執行安裝

在Linux上安裝安卓應用程式一直是許多用戶所關心的問題,尤其是對於喜歡使用安卓應用程式的Linux用戶來說,掌握如何在Linux系統上安裝安卓應用程式是非常重要的。雖然在Linux系統上直接運行安卓應用程式並不像在Android平台上那麼簡單,但是透過使用模擬器或第三方工具,我們依然可以在Linux上愉快地享受安卓應用程式的樂趣。以下將為大家介紹在Linux系統上安裝安卓應

如果您使用過Docker,則必須了解守護程式、容器及其功能。守護程序是在容器已在任何系統中使用時在背景執行的服務。 Podman是一個免費的管理工具,用於管理和建立容器,而不依賴任何守護程序,例如Docker。因此,它在管理貨櫃方面具有優勢,而不需要長期的後台服務。此外,Podman不需要使用根級別的權限。本指南詳細討論如何在Ubuntu24上安裝Podman。更新系統我們先進行系統更新,開啟Ubuntu24的Terminalshell。在安裝和升級過程中,我們都需要使用命令列。一種簡單的

在高中學習的時候,有些學生做的筆記非常清晰準確,比同一個班級的其他人都做得更多。對某些人來說,記筆記是一種愛好,而對其他人來說,當他們很容易忘記任何重要事情的小資訊時,則是一種必需品。 Microsoft的NTFS應用程式對於那些希望保存常規講座以外的重要筆記的學生特別有用。在這篇文章中,我們將描述Ubuntu24上的Ubuntu應用程式的安裝。更新Ubuntu系統在安裝Ubuntu安裝程式之前,在Ubuntu24上我們需要確保新設定的系統已經更新。我們可以使用Ubuntu系統中最著名的「a
