云服务器使用心得

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云服务器ECS,u1 2核4GB 1个月
简介: 本篇帖子主要讲使用云服务器执行python脚本自动化数据库处理数据的的工作

前言

我是一名就读计算机科学与技术专业的大学三年级学生, 本学期学习安卓开发课程, 想尝试做一个类似“百词斩”的背单词软件, 但我不想仅在手机上模拟流程, 而是真正地使用服务器作为后端储存和处理数据。恰好我从一些学习的qq群里听说了阿里云的飞天加速计划,于是参与了学习与答题,免费领取了两周的云服务器。
经过一段时间的摸索,我大致完成了自己定的目标,经过亲身体验后,我确实感觉阿里云的云服务器服务质量非常不错。所以为社区发表一篇帖子记录一下我学习到的东西,并继续取得续领云服务器服务的资格。

攻略正文:从0开始在linux服务器上通过python脚本自动控制mysql数据库

声明

本篇博客仅论述实现功能的基本流程, 不详细讲解知识,数据库初学者建议先学习sql基本语法(时间成本不高)

环境安装

我使用的操作系统是Ubuntu20, 装好之后是自带python3, 所以我们直接无脑安装mysql

apt update
apt install mysql-server

非root账号输入, 当然要能获取root权限才行

sudo apt update
sudo apt install mysql-server

新建一个账号

这一步没什么用,只是我想新建一个

adduser --home /usr/sir sir

mysql登录

mysql数据库创建时会自动生成一串root用户密码,想改密码的可以去查查怎么改。使用root账号可以直接这样登录

mysql

非root账户用用户名密码登录, 输入下方语句后会提示你输入密码

mysql -u username -p

数据库基本操作

建增删改查等操作略,这里只放几个不全的栗子,不详细讲解,但下方的权限授予操作我认为是比较必要的

create table Person
(
    PID nchar(15),
    PName nchar(25),
    PRole nchar(10),
    Lucky int,
    Ammo int
    primary key(PID)
)

alter table Person add Ping int

alter table Person modify Lucky varchar(10)

alter table Person drop column Lucky

insert into Person values
(1234567,'EVO.T im a','Ellis',700,230),
(1234568,'EVO.Star','Smoker',0,225),
(1234569,'Double.Mayuyu','Coach',80,40),
(1234570,'dec.nv','Nick',0,233),
(1234571,'kain.nv','Charger',0,125);

select * from Person where PName = 'EVO%'

创建一个数据库用户,

@后跟一个ip, 表示允许哪些ip,或哪些子网段的ip访问, 若写%表示所有, localhost顾名思义是本地

identified by 后面写密码

create user 'testdbuser'@'localhost' identified by 'abcd';

给用户授权, 当然也可以新建角色给角色授权,然后再把角色权限授权给用户,

grant all privileges on table 好几个表 to testdbuser@localhost

python自动操作数据库

安装pymysql库

无脑安装

pip install mypysql

pymysql基本操作

import pymysql

首先创建对象游标, 形如下方代码

参数database表示你要操作哪个数据库 ,用户名密码要正确,且用户要有访问权限才行

self.__connection = pymysql.connect(host = self.__host, user = self.__user, password = self.__password, database = self.__database) # 实例化对象
        
self.__cursor = self.__connection.cursor(cursor=pymysql.cursors.DictCursor) #游标

增删改查

注意除了查询操作外,其他操作(也就是会改变数据库内容的操作)需要最后使用commit()方法,否则无法成功真正在数据库中完成操作

sql = 'select count(*) cnt from User where uid = %s'
self.__cursor.execute(sql, (uid)) # 使用execute执行
cnt = self.__cursor.fetchone()['cnt'] #  使用fetchone() fetchmany() fetchall() 获取返回结果的一条、多条或全部
if cnt == 0: return '无该用户'

sql = 'insert into User values (%s, %s, %s, %s)'
self.__cursor.execute(sql, (cnt + 1, name, password, False))
self.__connection.commit() #操作设计数据库修改需要执行commit方法

其他的都差不多

根据使用经验,若传参为字符串自带引号,当然可以提前写好之后只execute(sql)

sql = 'insert into User values (%s, %s, %s, %s)' %(乱七八糟)
self.__cursor.execute(sql)

部署后端

自己写个类,把想要的功能封装进去,就可以挂在服务器上自动跑脚本了。比如我正在做的东西有以下具体过程:

接受前端发来的数据

数据解密(使用AES CBC)

验证数据正确性和完整性

为自己写的数据库操作类创建一个对象,通过外来数据操作数据库

编辑和加密回馈数据

回馈前端

其他

等学期末东西做完了,我应该会再写一篇完整总结

收获总结

这段时间学习并使用云服务器,应该是我第一次与“后端”打交道,并且还是使用我不太熟悉的linux操作系统。这让我认识到了还有很多知识我一窍不通,令我跳出了自己的舒适区去学习和思考,并在新的领域掌握了一些技术。今后我希望可以继续使用阿里云的云服务器完成我的课程设计,甚至毕业设计,并利用云服务器实现一些新的功能,例如搭建个人博客、个人小程序服务器、qq机器人等。
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
JavaScript Java 关系型数据库
基于springboot+vue在线外卖点餐系统(毕业设计,源码+文档)
基于springboot+vue在线外卖点餐系统(毕业设计,源码+文档)
|
小程序 Java 关系型数据库
阿里云服务器使用体验
阿里云服务器使用体验
70 0
|
消息中间件 关系型数据库 MySQL
阿里云服务器使用体验以及建议
按照我的经验写的一点使用体验以及建议,例如环境搭建以及配置修改
138 0
国内开源镜像站点
阿里开源镜像站:https://opsx.alibaba.com/mirror 网易开源镜像站:http://mirrors.163.
28551 1
|
弹性计算 Java 数据库
阿里云服务器的使用体验
对于像我这样的学生小白来说,配置服务器是超级困难的事,尤其是在云端配置,在我第一次配置的时候就遇上了各种错误。这是我第一次使用阿里云服务器,在使用服务器时,阿里云贴心地提供了超多地配置教程,真是实现了傻瓜式配置,大赞!
阿里云服务器使用体验有感
阿里云服务器使用体验很好,总体感觉良好,真心希望能够继续使用
264 0
|
canal 消息中间件 缓存
关于阿里云服务器的使用体验
刚刚领取了阿里云的服务器使用,有以下体验可以与大家分享一下
141 1
关于阿里云服务器的使用体验
|
Linux 应用服务中间件 网络安全
我的阿里云服务器使用体验
从我自身的使用体验出发,介绍了自己的一些相关信息,以及使用阿里云服务器前后的一些经历和感受。通过参加飞天加速计划·高校学生在家实践活动,使用阿里云服务器,我学到了很多,也非常赞赏阿里云为高校学生免费提供云服务器的行为。希望自己能学有所成,阿里云也能越来越好。
|
弹性计算 Linux Windows
阿里云服务器选择及使用体验!
一般说来,站长朋友使用服务器所需要安装的网站运行环境以asp以及php为主。下面针对这两种运行环境,为大家介绍一下服务器运行环境的搭建及使用方法,方便大家使用。
阿里云服务器选择及使用体验!
|
弹性计算 JavaScript 前端开发
服务器使用心得
在本次试用的服务器中着实被阿里云的一条龙服务打动到了,不过美中不足的刚好也是那些贴心的教程需要更新啦。
服务器使用心得