Python工具箱系列(二十二)

2025-12-13 0 128

互联网世界里最流行的开源关系型数据库之一就是MySQL/MariaDB了,由于高度的相似,故而直接使用mysql统一指称。

一、windows下的安装

windows最吸引人的地方就在于易于安装。mysql在WINDOWS下也是最容易安装的。直接在官网上下载可安装程序,一路NEXT即可。

二、ubuntu18.04下的安装

如果是生产环境部署,建议以普通用户角色,使用sudo命令方式安装,从而兼顾安全性与权限充足。如果读者是开发者,在测试环境下使用root帐号,则可以直接输入命令。

# 获得最新的安装数据
apt update
apt upgrade -y

# 安装mysql服务
apt install -y mysql-server
apt install -y libmysqlclient-dev

# 查看网络诊听
netstat -tap | grep mysql

# 进行安全配置
mysql_secure_installation

# 常见问题处理方法
# 出现“Would you like to setup VALIDATE PASSWORD plugin?”,可以直接选择无视。
# 出现“Disallow root login remotely? ”时,如果不止从本地访问数据库,可以回车选择无视
# 出现“Remove test database and access to it? ”,可以回车选择删除测试用数据库

# vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注释掉bind-address这一行,因为本行要求MYSQL服务只服务于本地。也可以使用sed语句直接封闭,推荐使用sed语句,简洁有力
sed -i \'s/bind-address/#bind-address/g\' /etc/mysql/mysql.conf.d/mysqld.cnf

# 进行授权工作
mysql -u root -p
mysql> grant all privileges on *.* to \'root\'@\'%\' identified by \'hl100800\' with grant option;
mysql> exit
systemctl restart mysql

systemctl restart mysql
systemctl status mysql

## mysql测试

在windows下能够访问mysql的工具很多。包括但不限于:

* Mysql官方提供的各类工具,包括GUI与命令行的。
* Mycli
* DBeaver
* PhpMyAdmin
* HeidiSQL
* Induction
* DbNinja
* Pinba
* Monyog
* Gh-ost
* Chive
* SQL Lite Manager
* Sqlcheck
* Orchestrator
* MySQLDumper
* Navicat(付费)

笔者平时使用DBeaver这个GUI工具,不仅免费,而且能够访问多个数据库,非常推荐。PhpMyAdmin是老牌工具了,安装部署也非常方便。对于开发者而言,直接在vscode中安装相关的插件更是值得推荐,毕竟不脱离开发环境,不切换软件就直接完成任务,对于处在心流状态下的程序员非常必要。

与前文提到的嵌入式数据库sqlite不同,mysql是客户端与服务器端分离的。mysql有着良好的高并发、高吞吐的特性。此外,也支持数据库集群、主备切换、读写分离等优秀特性,本文不再赘述。最好的学习方法就是访问官网,看官方文档。在使用python进行mysql开发时,务必关注:

* 在指定服务器上正确安装mysql,并且启动相关服务,检查防火墙的配置
* 建立好正确的权限
* 为数据库、表配置正确的字符集
* 为mysql服务配置系统参数(内存、文件句柄数)等

## python对数据库的访问

mysql提供对多种语言的支持。对于python来说,安装以下包能够直接访问mysql。

```shell
pip install mysql-connector
pip install mysql-connector-python

以下代码演示了创建数据库、表的过程。

import mysql.connector

host = \'localhost\'
user = \'root\'
password = \'8848is8848\'
dbname = \'demodb\'

# 创建数据库
demodb = mysql.connector.connect(host=host, user=user, password=password)
democur = demodb.cursor()
democur.execute(f\'create database {dbname}\')
democur.execute(\'show databases\')
for x in democur:
  print(x)

demodb.commit()
democur.close()
demodb.close()

# 创建数据库成功后创建表结构
demodb = mysql.connector.connect(
  host=host, user=user, password=password, database=dbname)
democur = demodb.cursor()
sql_createtable = \'create table demotb(id int not null auto_increment,pm25 float not null,primary key(id))\'
democur.execute(sql_createtable)

demodb.commit()
democur.close()
demodb.close()

以上代码创建了demodb数据库,并且在这个库下创建了demotb数据表。这个表非常简单:

◎id,整数类型做为主键,并且能够自动增长。

◎pm25,浮点数,未来存储环境检测的pm2.5的值。

◎考虑采样是固定频率,所以不需要时间,使用id标记时点。

后文将填充相关的值,并且使用python来查询与可视化相关的数据。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 Python工具箱系列(二十二) https://www.zuozi.net/36250.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务