当前位置:首页 > CN2资讯 > 正文内容

Python 服务器UDP Python 服务器和c#服务器

4天前CN2资讯

  服务器在阿里云上,和一般的本地配置方案不太一样,所以网上的博客里没有解决办法,本人在这里记录一下,方便大家交流。

  由于数据要保存到MySQL数据库中,使用python对数据进行操作,爬到数据直接进行保存。上一篇博客里已经讲过安装python时需要注意的一个小问题,这篇博客主要讲MySQL的安装配置和python连接数据库的一个小问题(坑)。

1. 安装和配置MySQL

  MySQL的安装很简单,用命令行apt-get即可。这个网上博客很多就不赘述。重点是安装后的配置,为了支持中文需要修改两处配置文件。(如果已经保存过数据在里面,那修改起来就很繁琐,所以一步到位,提前改好。)

  1. 在文件/etc/mysql/conf.d/mysql.cnf 下加一行:default-character-set=utf8,然后保存,完整截图:

                        

 

  2. 在文件/etc/mysql/mysql.conf.d/mysqld.cnf 中间部分,Basic Settings里加 character-set-server=utf8,然后保存,截图:

                        

  然后重启MySQL,命令行里输入:

1 service mysql restart

  用root用户登录MySQL,使用SQL语句查看:

1 show variables like '%char%';

                    

  如果是这样证明修改成功。接下来使用命令创建一个数据库、表、新用户,来供python连接数据库使用:

1 create database basename; # basename是想创建的数据库名称   2 use basebname; # 进入这个新建的数据库   3 create table tablename(ID varchar(30) not null, Address varchar(70), primary key(ID)); #在里面新建一个表含两列,ID和Adress,ID不能为空,主键设置为ID   4 grant all privileges on basename.tablename to user01@"%" identfied by "password";   5 flush privileges; # 更新权限使得其生效

  上面第四句是新建一个名为user01的用户,在basename里的tablename表里有所有的权限,@"%"表示可以在任何地方访问以密码password访问,换成@"localhost"表示只能在本地访问。而查看哪些用户具有哪些权限的语句是:

1 select user, host from mysql.user; # 查看所有用户名和他们的访问位置   2 show grants for user01@"%"; # 查看user01用户的所有权限

  我们知道权限控制是很重要的,如果给错权限可以撤销:

1 revoke create,drop on basename.tablename to user01@"%"; # 撤销用户创建和删除的权限   2 flush privileges;  # 更新权限

2. Python连接MySQL

   Python3使用PyMySQL来操作MySQL,Python2使用MySQLdb。这里安装PyMySQL。

1 pip install pymysql

  接下来给出一个简短的例子说明使用方法:

1 import pymysql.cursors   2   3 # 连接数据库   4 connection = pymysql.connect(host='要连接的IP',   5 user='user',   6 password='passwd',   7 db='db',# 要连接的数据库   8 charset='utf8mb4',   9 cursorclass=pymysql.cursors.DictCursor)   10   11 try:   12 with connection.cursor() as cursor:   13 # 写一个插入语句,向user这个表插入一条记录   14 sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"  #   15 cursor.execute(sql)   16   17 # 最后提交一下变更   18 connection.commit()   19   20 with connection.cursor() as cursor:   21 # 查询一条记录,也可以用fetchall查询所有满足条件的记录   22 sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"   23 cursor.execute(sql)   24 result = cursor.fetchone()   25 print(result)   26 finally:   27 connection.close()

  看似一切正常,work well,但是在运行自己构造sql语句的时候始终报错:

1 sql = "update "+tablename+" set Address="+info['ad']+" where ID like "+id[1]   2 pymysql.err.InternalError: (1054, "Unknown column 'Address' in 'field list'")

  一般出现这个错误是sql语句有问题,比如里面少了空格。试了别人的博客里的方法都不靠谱,最后发现这是单引号引起的问题。语句里赋的值应该用函数repr处理一下供解释器使用。

1 sql = "update "+tablename+" set Address="+repr(info['ad'])+" where ID like "+repr(id[1])

  另外MySQL单独使用单引号和双引号没有区别。

 



    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/20540.html

    分享给朋友:

    “Python 服务器UDP Python 服务器和c#服务器” 的相关文章

    如何安全地关闭防火墙和使用Linux命令管理防火墙

    在使用Linux系统时,关闭防火墙这件事我总觉得是个敏感话题。防火墙是保护计算机免受外部攻击的重要屏障,理解其作用很有必要。防火墙可以帮助我们监控和限制进入或离开系统的网络流量,让未授权的访问无处遁形。因此,在我们决定关闭防火墙之前,首先要明确什么样的场景和条件下,这个操作是合理的。 关闭防火墙之前...

    搬瓦工:新手必备的VPS主机服务与瓦工实践经验分享

    1. 搬瓦工的概述 你好,今天我们来聊聊“搬瓦工”。这个名字可能对很多人来说有些陌生,但实际上它是一个由加拿大IT7 Networks公司推出的VPS主机品牌。简单来说,搬瓦工为用户提供了一种虚拟的服务器租赁服务,尤其适合那些想要搭建网站或学习Linux的新手。最吸引人的是,它的性价比非常高,价格也...

    香港CDN服务:提升网站访问速度和用户体验的最佳选择

    在互联网时代,用户愈发关注访问速度和网站体验,这时CDN(内容分发网络)的作用就显得尤为重要。简单来说,CDN是通过在全球各地设置节点,帮助将内容快速传递给用户,从而减少延迟,提高访问速度。我曾经亲身体验过CDN带来的便利,当我访问一些需要加载大量图片和视频的网站时,CDN能确保这些内容更快呈现,给...

    联通169回程路由怎么样?优缺点及用户评价分析

    在当下的网络环境中,联通169回程路由成为了一个备受关注的话题。很多人对它的表现充满好奇,联通169回程路由究竟如何呢?从基本信息到工作原理,再到它的主要特点,我们一起深入了解一下。 联通169回程路由的基本信息 联通169回程路由主要分为几种类型。我们通常提到的普通网络(AS4837 + AS48...

    日本节点的重要性与旅行体验优化指南

    日本节点的定义与重要性 在数字化飞速发展的今天,网络成为了沟通和信息流通的主要渠道。这里提到的“节点”,其实是指网络中数据传输的关键环节,可以理解为互联网的一个重要接点。每一个节点都承担着流量的传输与分发,确保数据能够迅速而高效地在全球范围内流动。想象一下,网络就像一张巨大的蜘蛛网,各个节点犹如网中...

    如何有效管理与维护VPS证书以提升网站安全性

    在互联网时代,数据安全变得愈发重要,VPS(虚拟专用服务器)证书就是确保在线安全性的重要工具。简单来说,VPS证书是一种数字证书,用于验证网站的身份并加密网站与用户之间的信息。借助这样的证书,用户在输入个人信息或进行交易时,能更加安心。 了解VPS证书的功能,可以更好地保护网站免受潜在的网络攻击。它...