开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
如何配置全世界最小的 MySQL 服务器 - 技术翻译 - 开源中国社区

如何配置全世界最小的 MySQL 服务器 【已翻译100%】

oschina 推荐于 2年前 (共 3 段, 翻译完成于 12-04) 评论 23
收藏  
98
推荐标签: MySQL 待读
参与翻译 (1人) : LeoXu 仅中文 | 中英文对照 | 仅英文 | 打印此文章

配置全世界最小的 MySQL 服务器——如何在一块 Intel Edison 为控制板上安装一个 MySQL 服务器。

介绍

在我最近的一篇博文中,物联网,消息以及 MySQL,我展示了如果 Particle Photon 的板子开始构建你自己的物联网。那个实现很棒,不过因为 Particle Photon 板子没有任何本地的存储,所以需要稳定的互联网(wi-fi)接入。如果你没有一个可靠的网络访问 (例如在一些边远的地方) 或者需要某些很小的东西来存储数据,现在就可以使用 Intel Edison 了。我甚至在 Edison 安装过 MySQL,这使其成为了世界上(在体积上)最小的 MySQL 服务器! 其它的选择包括:

MySQL 配置

Intel Edison 是一个小巧的计算机,基于 22 nm 的 Silvermont 双核 Intel Atom CPU, 主频 500MHz,运行 Linux (叫做 Yocto 的基于 Ubuntu 的发布版)。为了对 Edison 进行编程,我们需要一块接口板。可以选择的板子包括兼容 Arduino 的接口板 (包含了 SD 卡) 还有 Intel 接口板。

LeoXu
 翻译得不错哦!

安装和配置是直观的。我使用了 在 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 插叙在一些板子上是有的)。

LeoXu
 翻译得不错哦!

为了安装库文件,我遵照这份优秀的指南: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,为我烤面包吧!

robotic_arm_toaster

LeoXu
 翻译得不错哦!
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们
评论(23)
Ctrl/CMD+Enter

火星人还没学会地球人的语言
问题来了,为啥要用MySQL来烤面包………
问题来了,我啥都听不懂~
到底有多小啊?
问题来了,为何不用SQLite呢?

引用来自“RegentW”的评论

火星人还没学会地球人的语言
火星人还没学会地球人的语言
比小.呵呵.哥在安卓手表里面装了mysql.应该比你这个小!
然而这有什么用?
没看懂到底要讲什么?:neckbeard:
我去,这个酷啊
真没看出小在哪,我的树莓派LAMP都安装了。
太 Geek 了!!
这跟烤面包有啥关系?
树莓派的Raspbian是一个基于Debian的ARM架构的Linux发行版,国内的阿里云和中科大镜像都提供有软件源,用apt安装软件很方便.
什么Apache/Nginx/PHP/MySQL统统都有,甚至连Chromium浏览器都有:
http://mirrors.aliyun.com/raspbian/raspbian/pool/main/c/chromium-browser/
编译工具使用的是传统的GCC.
另外像Android上也可以安装LAMP环境,比如KSWeb就打包了Apache/Nginx/PHP/MySQL/FTP这些组件:
http://kslabs.ru/content/KSWEB_3-41.apk
编译工具使用的是CodeSourcery基于GNU GCC改造的交叉编译器arm-none-linux-gnueabi,其编译的程序能兼容多种ARM架构.
http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
或者你也可以试试Google的Android NDK.
树莓派的Raspbian是一个基于Debian的ARM架构的Linux发行版,国内的阿里云和中科大镜像都提供有软件源,用apt安装软件很方便.
什么Apache/Nginx/PHP/MySQL统统都有,甚至连Chromium浏览器都有:
http://mirrors.aliyun.com/raspbian/raspbian/pool/main/c/chromium-browser/
编译工具使用的是传统的GCC.
另外像Android上也可以安装LAMP环境,比如KSWeb就打包了Apache/Nginx/PHP/MySQL/FTP这些组件:
http://kslabs.ru/content/KSWEB_3-41.apk
编译工具使用的是CodeSourcery基于GNU GCC改造的交叉编译器arm-none-linux-gnueabi,其编译的程序能兼容多种ARM架构.
http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
或者你也可以试试Google的Android NDK.

大家注意队形!!!
树莓派的Raspbian是一个基于Debian的ARM架构的Linux发行版,国内的阿里云和中科大镜像都提供有软件源,用apt安装软件很方便.
什么Apache/Nginx/PHP/MySQL统统都有,甚至连Chromium浏览器都有:
http://mirrors.aliyun.com/raspbian/raspbian/pool/main/c/chromium-browser/
编译工具使用的是传统的GCC.
另外像Android上也可以安装LAMP环境,比如KSWeb就打包了Apache/Nginx/PHP/MySQL/FTP这些组件:
http://kslabs.ru/content/KSWEB_3-41.apk
编译工具使用的是CodeSourcery基于GNU GCC改造的交叉编译器arm-none-linux-gnueabi,其编译的程序能兼容多种ARM架构.
http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
或者你也可以试试Google的Android NDK.

大家注意队形!!!
数据库这么重要的东西这么搞合适吗?...

引用来自“码农界傲娇段子手”的评论

树莓派的Raspbian是一个基于Debian的ARM架构的Linux发行版,国内的阿里云和中科大镜像都提供有软件源,用apt安装软件很方便.
什么Apache/Nginx/PHP/MySQL统统都有,甚至连Chromium浏览器都有:
http://mirrors.aliyun.com/raspbian/raspbian/pool/main/c/chromium-browser/
编译工具使用的是传统的GCC.
另外像Android上也可以安装LAMP环境,比如KSWeb就打包了Apache/Nginx/PHP/MySQL/FTP这些组件:
http://kslabs.ru/content/KSWEB_3-41.apk
编译工具使用的是CodeSourcery基于GNU GCC改造的交叉编译器arm-none-linux-gnueabi,其编译的程序能兼容多种ARM架构.
http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
或者你也可以试试Google的Android NDK.

大家注意队形!!!
他发“牛皮藓”就算了。。。你也别这样。。。搞得osc乱七八糟的。。。
呵呵 这个哪里小了
SQLite不可以么?
顶部