在Nanopi2上安装MySQL数据库和简单使用方法

在嵌入式Linux平台下如果需要使用数据库功能,一般会选择SQLite或MySQL。MySql主要用来做服务端的开发,功能全面,综合化,追求最大并发效率 ; 而Sqlite是用来做客户端开发的,功能简约,小型化,追求最大磁盘效率.如果只是单机上用的,数据量不是很大,需要方便移植或者需要频繁读/写磁盘文件的话,就用SQLite比较合适;如果是要满足多用户同时访问,或者是网站访问量比较大是使用MYSQL比较合适。。对于大多数应用,SQLite是很易用的数据库,我之前就使用过它开发过一套生产管理系统;但是当需要远程访问数据并提供数据库安全时,MySQL则是更好的选择。考虑到嵌入式系统的性能局限,其本身并不适合集成数据展示功能(无论是基于GUI的还是基于web的)。于是可以将其只作为数据记录平台,而将数据的整理、展示在PC端完成。这种模式下,树莓派可以作为数据采集主机,将有线 / 无线节点的数据进行集中采集记录,再通过PC进行分析和展示。

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

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

  1. 测试MySQL

通过以下命令运行MySQL的命令提示系统,并输入在安装过程中设置的密码:(大写FA 失误)

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)
  1. 创建一个新的数据库和表单
    以上数据库都是系统建立的数据库,要想开始插入数据,首先需要建立新的数据库和表单。这里假设要实现一个CPU温度记录的功能,存放在名为”sensordb”的数据库中。使用以下命令建立数据库:
mysql> CREATE DATABASE sensordb;
Query OK, 1 row affected (0.00 sec)

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

mysql> SHOW databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sensordb           |
+--------------------+
 4  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)

drop命令用于删除数据库。

drop命令格式:drop database <数据库名>;

例如,删除名为 sensordb 的数据库:

mysql> drop database sensordb;

查看表单是否建立成功:


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)
  1. 向数据库中插入测试数据
    在上一步中已经成功建立了用于CPU温度采集的数据库和表单,但是因为没有任何数据,所以该表单中没有任何内容。现在通过手动插入的方式向该表单中插入若干数据,测试是否可以正常运行。
mysql> INSERT INTO cputemptable
    -> values('2017-03-05', 36.5);

mysql> INSERT INTO cputemptable
    -> values('2017-03-06', 39.5);

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


Query OK, 1 row affected (0.00 sec)
  1. 查看数据库操作的结果
    为了验证以上数据是否成功插入,可以通过select语句检索数据库:
mysql> SELECT * FROM cputemptable;
+------------+------+
| recordtime | temp |
+------------+------+
| 2017-03-05 | 36.5 |
| 2017-03-06 | 39.5 |
+------------+------+
 2  rows in set (0.00 sec)

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

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

mysql> quit
Bye

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穿着帆布鞋也能走猫步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值