在树莓派上安装MySQL数据库和简单使用方法

Posted huayucong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在树莓派上安装MySQL数据库和简单使用方法相关的知识,希望对你有一定的参考价值。

在嵌入式Linux平台下如果需要使用数据库功能,一般会选择SQLite或mysql。SQLite是轻量级、基于文件的关系数据库,系统资源占用较少;但是SQLite的缺点是不支持远程部署和访问。对于大多数应用,SQLite是很易用的数据库,我之前就使用过它开发过一套生产管理系统;但是当需要远程访问数据并提供数据库安全时,MySQL则是更好的选择。考虑到树莓派的性能局限,其本身并不适合集成数据展示功能(无论是基于GUI的还是基于web的)。于是可以将其只作为数据记录平台,而将数据的整理、展示在PC端完成。这种模式下,树莓派可以作为数据采集主机,将有线 / 无线节点的数据进行集中采集记录,再通过PC进行分析和展示。在这样的初衷驱使下,我研究并整理了如何在树莓派上安装和使用MySQL。

1. 安装MySQL 
使用管理员权限运行apt-get获取最新的MySQL及Python编程接口(之后用于数据库编程):


$ sudo apt-get install mysql-server python-mysqldb

安装过程中需要输入root管理员的密码,该密码之后用于访问数据库系统。

2. 测试MySQL 
通过以下命令运行MySQL的命令提示系统,并输入在安装过程中设置的密码:


mysql -u root -p

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 47
Server version: 5.5.41-0+wheezy1 (Debian)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.

查看当前已建立的数据库:


mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
 rows in set (0.00 sec)

3. 创建一个新的数据库和表单 
以上数据库都是系统建立的数据库,要想开始插入数据,首先需要建立新的数据库和表单。这里假设要实现一个CPU温度记录的功能,存放在名为"sensordb"的数据库中。使用以下命令建立数据库:


mysql> CREATE DATABASE sensordb;
Query OK, 1 row affected (0.00 sec)

查看数据库是否建立成功:


mysql> SHOW databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sensordb           |
+--------------------+
 rows in set (0.01 sec)

在sensordb数据库下创建一个表单(table),该表单包含两个域(fields):日期和当天平均CPU温度。时间域使用的数据格式为DATE;而温度使用DECIMAL(4,1),即最大三位整数加一位小数。


mysql> USE sensordb;
Database changed

mysql> CREATE TABLE cputemptable(recordtime DATE, temp DECIMAL(4,1));
Query OK, 0 rows affected (0.03 sec)

查看表单是否建立成功:


mysql> SHOW TABLES;
+--------------------+
| Tables_in_sensordb |
+--------------------+
| cputemptable       |
+--------------------+
 row in set (0.00 sec)

查看表单的域名称与类型:


mysql> DESCRIBE cputemptable;
+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| recordtime | date         | YES  |     | NULL    |       |
| temp       | decimal(4,1) | YES  |     | NULL    |       |
+------------+--------------+------+-----+---------+-------+
 rows in set (0.01 sec)

4. 向数据库中插入测试数据 
在上一步中已经成功建立了用于CPU温度采集的数据库和表单,但是因为没有任何数据,所以该表单中没有任何内容。现在通过手动插入的方式向该表单中插入若干数据,测试是否可以正常运行。


mysql> INSERT INTO cputemptable
    -> values('2015-03-25', 36.5);

mysql> INSERT INTO cputemptable
    -> values('2015-03-26', 39.5);

以上每条如果操作成功,都回返回提示:


Query OK, 1 row affected (0.00 sec)

5. 查看数据库操作的结果 
为了验证以上数据是否成功插入,可以通过select语句检索数据库:


mysql> SELECT * FROM cputemptable;
+------------+------+
| recordtime | temp |
+------------+------+
| 2015-03-25 | 36.5 |
| 2015-03-26 | 39.5 |
+------------+------+
 rows in set (0.00 sec)

可以看到之前的两条数据已经成功插入到cputemptable数据表中。

最后使用quit退出交互系统:


mysql> quit
Bye

整个过程下来,发现MySQL在树莓派上的部署与操作与在桌面Linux平台上几乎没有差别。这里唯一需要注意的是,因为树莓派的硬件资源有限,所以在配置MySQL的优化选项时,需要降低其对系统资源的使用。具体配置细节在我亲自研究试验之后再进行补充。

以上是关于在树莓派上安装MySQL数据库和简单使用方法的主要内容,如果未能解决你的问题,请参考以下文章

树莓派3 之 安装Mysql服务

树莓派开发笔记(十五):树莓派4B+从源码编译安装mysql数据库

从 PHP 站点执行 python 脚本——我需要 Django 吗?可以在树莓派上完成吗? [关闭]

Theano 在树莓派上使用 Keras

在树莓派上的python3

如何在树莓派上安装python和GPIO库