第五章 安装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()
|