最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

世界时讯:Python工具箱系列(二十二)

来源:博客园


(相关资料图)

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

windows下的安装

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

ubuntu18.04的安装

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

# 获得最新的安装数据apt updateapt upgrade -y# 安装mysql服务apt install -y mysql-serverapt 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 -pmysql> grant all privileges on *.* to "root"@"%" identified by "hl100800" with grant option;mysql> exitsystemctl restart mysqlsystemctl restart mysqlsystemctl 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。```shellpip install mysql-connectorpip install mysql-connector-python

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

import mysql.connectorhost = "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来查询与可视化相关的数据。

关键词: 系统参数 处理方法 安装程序