IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 从零开始的树莓派开发(三):建立MariaDB并用Python调用 -> 正文阅读

[大数据]从零开始的树莓派开发(三):建立MariaDB并用Python调用

第五章 安装MariaDB

本来打算在树莓派上部署一个MySQL本地数据库,然后用Python对数据库操作。尝试的时候发现MySQL已经不能在树莓派上使用了(说是因为版权问题),不过系统推荐了MariaDB作为替代。问题不大,MariaDB可以说是MySQL的分支,是同一个体系内的,基本没有太大的差别。

安装这个数据库也是依旧踩了无数的坑,下面记录在树莓派上安装MariaDB的详细步骤。

1. 确认系统

这里有必要说明一下,MariaDB可能只兼容最近发布的Raspberry Pi OS 64 位版本。因为我使用之前的32位版本尝试安装的时候,始终会出现包依赖关系问题,无论是换源还是用 aptitude 都不能解决问题。

无奈只能重新安装系统,好在树莓派重装系统的操作并不复杂。买一张新的SD卡(或者将之前的格式化),从下面网址下载好镜像即可安装完成。(具体步骤见系列第一篇)树莓派资源下载 | 树莓派实验室树莓派(Raspberry Pi)中文资讯站,提供丰富的树莓派教程和DIY资讯。https://shumeipai.nxez.com/download#os

?2. 安装MariaDB

如果系统没有问题的话,安装应该不会出现意外。参考这位大佬的操作(树莓派安装MySQL数据库 - jack_Meng - 博客园),首先使用下面命令更新一下,接下来安装数据库。

# 更新
sudo apt-get update
sudo apt-get upgrade

# 安装
sudo apt install mariadb-server

接下来按照上面文章中的安全安装命令设置 root 用户的密码。设置完毕之后即可,不用继续按文章操作。

3. 配置远程访问

键入 exit 退出数据库,用 nano 修改配置文件。

nano /etc/mysql/mariadb.conf.d/50-server.cnf

将文件中的 band-address 行加 # 注释掉,之后重启服务。

systemctl restart mariadb.service

进入数据库,新建一个非root用户,用来远程访问。

CREATE USER 'Name'@'%' IDENTIFIED BY 'Password'; 
GRANT ALL PRIVILEGES ON *.* TO 'Name'@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; 

FLUSH PRIVILEGES;

到这里就可以实现远程访问了,可以用MySQL WorkBench来尝试连接,连接成功之后可以建立自己的数据库和表格。

第六章 使用Python调用MariaDB

1. 安装mariadb模块

这里需要注意,直接安装这个模块是不行的,会提示错误。需要首先安装一个连接器。

sudo apt-get install libmariadb3 libmariadb-dev

安装完这个连接器之后,就可以顺利使用 pip3 安装模块。

pip3 install mariadb

2. Python程序调用

到这里就很简单了,下面给出建立连接的基本部分。

# -*- coding:utf-8 -*-
import datetime
import mariadb  # 导入操作数据库的库


def main():
    # 连接数据库
    database = mariadb.connect(host="xxxxx",
                               user="xxxxx",
                               password="xxxxx",
                               database="xxxxxx")

    cur = database.cursor()  # 获得数据库指针
    print("Connect MySQL successed...")

    sql = "insert into Table (Time, Value) values (%s, %s)"  # sql语句

    cur.execute(sql, (time, value))  # 执行sql命令(附带了参数)
    database.commit()  # 提交sql命令以生效


if __name__ == '__main__':
    main()

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:18:09  更:2022-04-04 12:19:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:44:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码