翼度科技»论坛 编程开发 python 查看内容

Python工具箱系列(二十二)

7

主题

7

帖子

21

积分

新手上路

Rank: 1

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

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

如果是生产环境部署,建议以普通用户角色,使用sudo命令方式安装,从而兼顾安全性与权限充足。如果读者是开发者,在测试环境下使用root帐号,则可以直接输入命令。
 
  1. # 获得最新的安装数据
  2. apt update
  3. apt upgrade -y
  4. # 安装mysql服务
  5. apt install -y mysql-server
  6. apt install -y libmysqlclient-dev
  7. # 查看网络诊听
  8. netstat -tap | grep mysql
  9. # 进行安全配置
  10. mysql_secure_installation
  11. # 常见问题处理方法
  12. # 出现“Would you like to setup VALIDATE PASSWORD plugin?”,可以直接选择无视。
  13. # 出现“Disallow root login remotely? ”时,如果不止从本地访问数据库,可以回车选择无视
  14. # 出现“Remove test database and access to it? ”,可以回车选择删除测试用数据库
  15. # vim /etc/mysql/mysql.conf.d/mysqld.cnf
  16. # 注释掉bind-address这一行,因为本行要求MYSQL服务只服务于本地。也可以使用sed语句直接封闭,推荐使用sed语句,简洁有力
  17. sed -i 's/bind-address/#bind-address/g' /etc/mysql/mysql.conf.d/mysqld.cnf
  18. # 进行授权工作
  19. mysql -u root -p
  20. mysql> grant all privileges on *.* to 'root'@'%' identified by 'hl100800' with grant option;
  21. mysql> exit
  22. systemctl restart mysql
  23. systemctl restart mysql
  24. systemctl status mysql
  25. ## mysql测试
  26. 在windows下能够访问mysql的工具很多。包括但不限于:
  27. * Mysql官方提供的各类工具,包括GUI与命令行的。
  28. * Mycli
  29. * DBeaver
  30. * PhpMyAdmin
  31. * HeidiSQL
  32. * Induction
  33. * DbNinja
  34. * Pinba
  35. * Monyog
  36. * Gh-ost
  37. * Chive
  38. * SQL Lite Manager
  39. * Sqlcheck
  40. * Orchestrator
  41. * MySQLDumper
  42. * Navicat(付费)
  43. 笔者平时使用DBeaver这个GUI工具,不仅免费,而且能够访问多个数据库,非常推荐。PhpMyAdmin是老牌工具了,安装部署也非常方便。对于开发者而言,直接在vscode中安装相关的插件更是值得推荐,毕竟不脱离开发环境,不切换软件就直接完成任务,对于处在心流状态下的程序员非常必要。
  44. 与前文提到的嵌入式数据库sqlite不同,mysql是客户端与服务器端分离的。mysql有着良好的高并发、高吞吐的特性。此外,也支持数据库集群、主备切换、读写分离等优秀特性,本文不再赘述。最好的学习方法就是访问官网,看官方文档。在使用python进行mysql开发时,务必关注:
  45. * 在指定服务器上正确安装mysql,并且启动相关服务,检查防火墙的配置
  46. * 建立好正确的权限
  47. * 为数据库、表配置正确的字符集
  48. * 为mysql服务配置系统参数(内存、文件句柄数)等
  49. ## python对数据库的访问
  50. mysql提供对多种语言的支持。对于python来说,安装以下包能够直接访问mysql。
  51. ```shell
  52. pip install mysql-connector
  53. pip install mysql-connector-python
复制代码
 
以下代码演示了创建数据库、表的过程。
  1. import mysql.connector
  2. host = 'localhost'
  3. user = 'root'
  4. password = '8848is8848'
  5. dbname = 'demodb'
  6. # 创建数据库
  7. demodb = mysql.connector.connect(host=host, user=user, password=password)
  8. democur = demodb.cursor()
  9. democur.execute(f'create database {dbname}')
  10. democur.execute('show databases')
  11. for x in democur:
  12.     print(x)
  13. demodb.commit()
  14. democur.close()
  15. demodb.close()
  16. # 创建数据库成功后创建表结构
  17. demodb = mysql.connector.connect(
  18.     host=host, user=user, password=password, database=dbname)
  19. democur = demodb.cursor()
  20. sql_createtable = 'create table demotb(id int not null auto_increment,pm25 float not null,primary key(id))'
  21. democur.execute(sql_createtable)
  22. demodb.commit()
  23. democur.close()
  24. demodb.close()
复制代码
以上代码创建了demodb数据库,并且在这个库下创建了demotb数据表。这个表非常简单:
◎id,整数类型做为主键,并且能够自动增长。
◎pm25,浮点数,未来存储环境检测的pm2.5的值。
◎考虑采样是固定频率,所以不需要时间,使用id标记时点。
后文将填充相关的值,并且使用python来查询与可视化相关的数据。
 

来源:https://www.cnblogs.com/shanxihualu/p/17037233.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具