如何配置全世界最小的 MySQL 服务器

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

配置全世界最小的 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 服务端)
AI 代码解读

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 的安装相对比较简单. 有两个坑:

image

Yocto linux (还有官方的资源库) 默认并没有包含 MySQL 所需要的库: libaio1, libcrypto, libssl

内部存储比较小,而 MySQL 5.7 二进制文件不适合放到任何分区。我必须删除一些 “tests”以及其它我并不需要的东西。真正安装的时候可以使用 SD 卡 (SD 插叙在一些板子上是有的)。
AI 代码解读

为了安装库文件,我遵照这份优秀的指南:Edison 包 repo 配置 ,使用了非官方的 Edison 资源库。设置很简单:

要配置你的 Edison 从这个 repo 获取包,请用下面这些东西替换掉 /etc/opkg/base-feeds.conf 中的东西(其它 opkg 配置文件不需要改变):
AI 代码解读
        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
AI 代码解读

之后我们需要对库进行安装:

# opkg install libaio1_0.3 libcrypto1.0.0 libssl1.0.0
AI 代码解读

最后我们可以下载 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
AI 代码解读

请注意最新的 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)
AI 代码解读

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;
AI 代码解读

对于实际的实现,你既可以”黑“掉一个手头的烤面包机来接入接口板的针脚,或者使用兼容 Arduino 的 Robotic Arm。好了, MySQL,为我烤面包吧!

image

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
16429
分享
相关文章
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
KingBase服务器优化:详解Kylin参数配置。
通过适当的调整和优化这些关键参数,你的Kylin可以运行得更加流畅和高效。就像一个经过精心调校的赛车,无论是在赛道的直道还是弯道上,都能展现出卓越的性能。希望这次深入参数“操控盘”的旅行,能让你更好地理解和优化你的Kylin配置。记住,优化是一个持续的过程,不断地试验和改进,你的Kylin才能越来越强大。
41 20
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
seatunnel配置mysql2hive
本文介绍了SeaTunnel的安装与使用教程,涵盖从安装、配置到数据同步的全过程。主要内容包括: 1. **SeaTunnel安装**:详细描述了下载、解压及配置连接器等步骤。 2. **模拟数据到Hive (fake2hive)**:通过编辑测试脚本,将模拟数据写入Hive表。 3. **MySQL到控制台 (mysql2console)**:创建配置文件并执行命令,将MySQL数据输出到控制台。 4. **MySQL到Hive (mysql2hive)**:创建Hive表,配置并启动同步任务,支持单表和多表同步。
124 15
做网站如何选择云服务器?(一)配置篇
选择服务器需考虑网站规模、技术需求和地理位置。个人博客适合基础配置,企业官网需4核CPU、8GB内存,电商平台则需更高配置并配备负载均衡。技术上,展示型网站用PHP+MySQL,互动社区需Node.js/Python环境,视频类网站要大带宽。地理位置影响服务器选择,国内用户选腾讯云/阿里云,海外用户选AWS等。主流服务器类型包括虚拟主机(入门级)、云服务器(推荐)和物理服务器(高端需求)。云服务商普遍提供免费试用,便于评估性能。
61 1
【已解决】Matomo本地SMTP配置可以发邮件,但部署到阿里云ECS就发不了邮件
在阿里云ECS上使用Matomo和PHPMailer发送邮件时遇到问题,邮件无法发出且接口调用Pending。经过排查,发现是ECS安全组未开放25/465端口,导致SMTP请求无法正常通信。解决方法为在安全组中配置并开放25/465端口,从而恢复邮件发送功能。
|
24天前
|
Windows系统云服务器配置多用户登录
本教程介绍了在Windows云服务器上配置远程桌面服务的详细步骤,包括安装桌面会话主机和远程桌面授权、允许多用户远程连接以及配置新用户并加入远程桌面用户组。通过添加角色和功能、设置组策略以及管理用户权限,实现多用户同时登录和远程访问。按照指引操作,可顺利完成服务器的远程访问配置,提升管理和使用效率。
56 0
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
151 82
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等