配置全世界的MySQL服务器——如何在一块Intel Edison为控制板上安装一个MySQL服务器。
介绍:
在我最近的一片博文中,物联网,消息以及MySQL,我展示了如果Particle Photon的板子开始构建你自己的物联网。那个实现很棒,不过因为Particle Photon板子没有本地的存储,所以需要稳定的互联网(wi-fi)接入。如果你没有一个可靠地网络访问(例如在一些边远的地方)或者需要某些很小的东西来存出数据,现在就可以使用Intel Edison了。我甚至在Edison安装过MySQL,这是其成为了世界上(体积上)最小的MySQL服务器!
MySQL配置:
Intel Edison是一个小巧的计算机,基于22nm的Silvermont双核Intel Atom CPU,主频500MHz,运行linux。为了对Edison进行编程,我们需要一块接口板。可以选择的板子包括兼容Arduino的接口板(包含了SD卡)还有Intel接口板。
安装和配置是直观的,我是用了在Intel Edison板子上开启Yocto项目的指南来对板子进行安装和配置。首先我们需要通过串口来连接Edison,并对sshd和wi-fi进行配置;完成后我们就可以进行ssh连接到Edison了
因为linux通用的二进制文件是兼容Yocto linux的(因而你无需编译任何东西),所以MySQL的安装相对比较简单,有两个坑:
Yocto linux(还有官方的资源库)默认并没有包含MySQL所需要的库:libaio1、libcrypto、libssl
内部存储比较小,而MySQL5.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
之后我们需要进行对库安装:
请注意最新的Percona Server 5.6依赖于Numa库,而对于Yocto没有这样的库(对Edison不影响)。因此5.6.25是你可以在这里安装的最新的Percona服务端。
下面在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,为我烤面包吧!
转自微信开源中国公众号