如何配置全世界最小的 MySQL 伺服器
配置全世界最小的 MySQL 伺服器——如何在一塊 Intel Edison 為控制板上安裝一個 MySQL 伺服器。
介紹
在我最近的一篇博文中,物聯網,訊息以及 MySQL,我展示瞭如果 Particle Photon 的板子開始構建你自己的物聯網。那個實現很棒,不過因為 Particle Photon 板子沒有任何本地的儲存,所以需要穩定的網際網路(wi-fi)接入。如果你沒有一個可靠的網路訪問 (例如在一些邊遠的地方) 或者需要某些很小的東西來儲存資料,現在就可以使用 Intel Edison 了。我甚至在 Edison 安裝過 MySQL,這使其成為了世界上(在體積上)最小的 MySQL 伺服器! 其它的選擇包括:
- Raspberry Pi (我的大學同學在 Raspberry PI 上面安裝了 Percona 服務端)
- 基於 Android 的系統 (例如 Nexus 7: Vadim 在 Nexus 7 上安裝了 Percona 服務端)
MySQL 配置
Intel Edison 是一個小巧的計算機,基於 22 nm 的 Silvermont 雙核 Intel Atom CPU, 主頻 500MHz,執行 Linux (叫做 Yocto 的基於 Ubuntu 的釋出版)。為了對 Edison 進行程式設計,我們需要一塊介皮膚。可以選擇的板子包括相容 Arduino 的介皮膚 (包含了 SD 卡) 還有 Intel 介皮膚。
安裝和配置是直觀的。我使用了 在 Intel Edison 板子上開啟 Yocto 專案 的指南來對板子進行安裝和配置。 首先我們需要通過串列埠來連線 Edison,並對 sshd 和 Wi-Fi 進行配置;完成後我們就可以使用 SSH 連線到 Edison 了。
因為 Linux 通用的二進位制檔案是相容 Yocto Linux 的(因而你無需編譯任何東西),所以 MySQL 的安裝相對比較簡單. 有兩個坑:
- Yocto linux (還有官方的資源庫) 預設並沒有包含 MySQL 所需要的庫: libaio1, libcrypto, libssl
- 內部儲存比較小,而 MySQL 5.7 二進位制檔案不適合放到任何分割槽。我必須刪除一些 “tests”以及其它我並不需要的東西。真正安裝的時候可以使用 SD 卡 (SD 插敘在一些板子上是有的)。
為了安裝庫檔案,我遵照這份優秀的指南:Edison 包 repo 配置 ,使用了非官方的 Edison 資源庫。設定很簡單:
要配置你的 Edison 從這個 repo 獲取包,請用下面這些東西替換掉 /etc/opkg/base-feeds.conf 中的東西(其它 opkg 配置檔案不需要改變):
src/gz all http://repo.opkg.net/edison/repo/all src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
之後我們需要對庫進行安裝:
# opkg install libaio1_0.3 libcrypto1.0.0 libssl1.0.0
最後我們可以下載 Percona Server 5.6 並將其放到某個地方 (使用 my.cnf 中的 basedir 指向安裝路徑):
# wget https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.25-73.1/binary/tarball/Percona-Server-5.6.25-rel73.1-Linux.i686.ssl100.tar.gz
請注意最新的 Percona Server 5.6 依賴於 Numa 庫,而對於 Yocto 沒有這樣的庫 (對 Edison不影響)。因此 5.6.25 是你可以在這裡安裝的最新的 Percona 服務端。
下面在 Intel Edison 上所進行的簡單(並且相當無用 )的基準測試:
root@edison:/usr/local/mysql# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 74 model name : Genuine Intel(R) CPU 4000 @ 500MHz ... mysql> SELECT BENCHMARK(10000000,ENCODE('hello','goodbye')); +-----------------------------------------------+ | BENCHMARK(10000000,ENCODE('hello','goodbye')) | +-----------------------------------------------+ | 0 | +-----------------------------------------------+ 1 row in set (18.77 sec)
MySQL 可以為你烤麵包嗎?
著名的 MySQL Bug#2, 提交於 2002 年 9 月12 號,並說明“MySQL Connector/J 並不能烤麵包”。使用 Intel Edison 和 Arduino 相容的介皮膚現在就可以修復這個 bug 了: 現在不僅 MySQL Connector/J , MySQL 服務端本身也可以為你烤麵包了 ! 這可以藉助於 UDF,或者在 MySQL 5.7中使用 Query Rewrite 外掛,因此你可以執行 MySQL 查詢:
mysql> make toast;
對於實際的實現,你既可以”黑“掉一個手頭的烤麵包機來接入介皮膚的針腳,或者使用相容 Arduino 的 Robotic Arm。好了, MySQL,為我烤麵包吧!
相關文章
- Nginx - 最小配置Nginx
- MySQL入門--伺服器配置MySql伺服器
- 網路隔離的最小配置
- DedeCMS對伺服器的配置要求如何?伺服器
- 如何配置 Apache Web 伺服器ApacheWeb伺服器
- 伺服器如何選擇合適的配置伺服器
- Vapor如何配置MySQL資料庫VaporMySql資料庫
- 如何修復MySQL配置檔案?MySql
- 如何使用linux的伺服器需要進行的配置Linux伺服器
- 如何配置伺服器的系統服務安全伺服器
- 如何選擇正確的雲伺服器配置伺服器
- 如何配置web伺服器的詳細步驟Web伺服器
- windows伺服器如何配置wamp的虛擬域名Windows伺服器
- 阿里雲伺服器ecs配置之安裝mysql阿里伺服器MySql
- mysql伺服器主從資料庫同步配置MySql伺服器資料庫
- 如何檢查linux伺服器配置Linux伺服器
- 如何根據自己的需要選擇伺服器配置?伺服器
- 如何選擇正確的雲伺服器配置呢伺服器
- linux+nginx+mysql+php實用伺服器配置教程LinuxNginxMySqlPHP伺服器
- linux雲伺服器系統FTP、apache、mysql配置方法Linux伺服器FTPApacheMySql
- 線上影片伺服器租用如何配置伺服器
- 詳解Nginx如何配置Web伺服器NginxWeb伺服器
- 在Linux中,如何配置DHCP伺服器?Linux伺服器
- Centos8 如何配置DHCP伺服器CentOS伺服器
- Linux雲伺服器系統如何配置建站環境配置?Linux伺服器
- linux雲伺服器如何安裝mysql?Linux伺服器MySql
- mysql主從配置,主從伺服器都是全新安裝myql的情景MySql伺服器
- MySQL5.7.21免安裝版如何配置MySql
- 購買雲伺服器,如何選擇配置伺服器
- GODADLY:伺服器如何配置網路卡服務Go伺服器
- Vlog伺服器租用如何選擇配置-VeCloud伺服器Cloud
- 如何選擇Web伺服器硬體配置?Web伺服器
- mysql配置MySql
- 恆訊科技:網站伺服器的配置如何選擇呢?網站伺服器
- Theisle伺服器多少錢?Theisle如何選擇合適的配置?伺服器
- CentOS 6.6安裝配置LAMP伺服器(Apache+PHP5+MySQL)CentOSLAMP伺服器ApachePHPMySql
- 如何選擇配置 MySQL innodb_log_file_sizeMySql
- django 中 mysql 的 charset 配置DjangoMySql
- 企業如何選擇阿里雲伺服器配置阿里伺服器