树莓派安装使用数据库MariaDB (MySQL)

陈拓2020/08/17-2020/08/17

1. 相关文档

《树莓派安装使用数据库SQLite》
https://blog.csdn.net/chentuo2000/article/details/108682421

2. 概述

百度百科关于MariaDB和MySQL的描述:

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

2009年,MySQL之父Michael “Monty” Widenius用他的新项目MariaDB完成了对MySQL的“反戈一击”。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。

MariaDB虽然被视为MySQL数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。而且从MySQL迁移到MariaDB也是非常简单的:

1) 数据和表定义文件(.frm)是二进制兼容的

2) 所有客户端API、协议和结构都是完全一致的

3) 所有文件名、二进制、路径、端口等都是一致的

4) 所有的MySQL连接器,比如PHP、Perl、Python、Java、.NET、MyODBC、Ruby以及MySQL C connector等在MariaDB中都保持不变

5) mysql-client包在MariaDB服务器中也能够正常运行

6) 共享的客户端库与MySQL也是二进制兼容的

也就是说,在大多数情况下,你完全可以卸载MySQL然后安装MariaDB,然后就可以像之前一样正常的运行。

3. 安装MariaDB

  • 更新源

sudo apt-get update

sudo apt-get upgrade

  • 安装MariaDB

sudo apt install mariadb-server

4. 设置数据库

sudo mysql_secure_installation

进入人机交互:

1) 输入root密码

因为现在还没有密码(enter for none),按回车键。

2) 设置root密码

按y,输入你自己的密码。

3) 回车后再输入一次密码

4) 删除匿名用户

Remove anonymous users ,按 y 。

5) 不允许root远程登录

Disallow root login remotely ,按 y 。

6) 删除测试数据库test

Remove test database and access to it ,按 y 。

7) 重新装载授权表

Reload privilege tables now ,按 y 。

Thanks for using MariaDB! 设置完成!

5. 创建数据库和表

5.1 登录MySQL

sudo mysql -uroot

5.2 创建数据库

  • 创建数据库smarthome

create database smarthome;

  • 查看数据库

show databases;

5.3 打开数据库

use smarthome;

5.4 创建MySQL用户

  • 创建一个使用刚才创建的数据库的用户

创建一个名为ct的用户:

create user 'ct'@'localhost' IDENTIFIED BY 'ct';

  • 向用户授权数据库

GRANT ALL PRIVILEGES ON smarthome.* TO 'ct'@'localhost' IDENTIFIED BY 'ct';

  • 刷新数据库权限

FLUSH PRIVILEGES;

  • 退出MySQL

quit

  • 以用户ct登录

mysql -uct -pct

5.5 创建表

  • 打开前面创建的数据库

use smarthome;

  • 创建表temperature
create table temperature(
id INTEGER PRIMARY KEY AUTO_INCREMENT,
deviceid VARCHAR(20) default '0',
time VARCHAR(20) default '0',
battery_voltage INTEGER default 0,
celsius_temp FLOAT default 0
);
  • 查看数据库smarthome中的表

show tables;

  • 查看表结构

describe temperature;

6. 基本操作

  • 插入数据
insert into temperature (deviceid, time, battery_voltage, celsius_temp) values('temp001', '2020-07-28 17:25:35', 3451, 26.75);
insert into temperature (deviceid, time, battery_voltage, celsius_temp) values('temp001', '2020-07-28 17:25:45', 3454, 25.50);
insert into temperature (deviceid, time, battery_voltage, celsius_temp) values('temp001', '2020-07-28 17:25:55', 3453, 24.35);
  • 查询数据

查询所有记录:

select * from temperature;

查询第二条记录:

select * from temperature where id=2;

查看前2条记录:

select * from temperature limit 2;

查看第2-3条记录:

select * from temperature limit 1,3;

  • 修改数据

修改第二条记录,将温度从25.5改成25.65:

update temperature set celsius_temp=25.65 where id=2;

  • 删除记录

删除第二条记录:

delete from temperature where id=2;

删除所以记录:

delete from temperature;

  • 截断表

再插入一条记录:

insert into temperature (deviceid, time, battery_voltage, celsius_temp) values('temp001', '2020-07-28 17:25:35', 3451, 26.75);

可以看到,id并不是从1开始,而是继续前面的值自动增加。

删除所有记录后,如果希望表中的id还从1开始,就需要截断表:

TRUNCATE TABLE temperature;

再插入一条记录试试:

这次id从1开始了。

  • 删除表

drop table temperature;

  • 退出MySQL

mysql> exit

  • 在Linux下备份数据库smarthome

sudo mysqldump smarthome > smarthome_backup

将当前目录下的smarthome_backup保存好。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晨之清风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值