06 2019 档案
摘要:htop 互动进程查看器 使用 htop 可查看到系统实时的资源占用情况 htop命令参数 htop的老版本为 top
阅读全文
摘要:引言 我一共建立了2张表用于演示SQL Alchemy users usertype 导包语句 初始化语句 定义两张表对应的两个类 自定义方法 Session创建 添加数据 查询 删除 修改 高级查询 分组 分页 排序 between ... and ... in 与 not in 连表查询
阅读全文
摘要:慢日志查询(slow log): 日志文件: 记录了执行速度特别慢的SQL语句 开启的步骤: 1. show variables like '%query%'; 2. set global long_query_time = 1; 设置慢查询的时间 3. slow_query_log = ON 4.
阅读全文
摘要:索引: 作用: 加快查询的速度 类比: 新华字典的目录, 可以将索引理解成一个特殊的文件, 然后如果没有这个文件的话, 查询是从前到后查找数据的, 如果有这个文件的话, 会按照一种特殊的数据结构(二叉树)查找数据 分类: 主键索引: 加快查询 + 不能重复 + 不能为空 primary key 唯一
阅读全文
摘要:存储引擎: create table t1( id int auto_increment primary key, name varchar(32) not null default '' )engine=Innodb charset=utf8; 分类 Innodb 1.(默认版本包含5.5) 2.
阅读全文
摘要:权限管理: 创建用户 create user '用户名'@'IP地址' identified by '密码'; creaee user 'zekai'@'192.168.1.123' identified by '123qwe'; creaee user 'zekai'@'192.168.1.%'
阅读全文
摘要:EXPLAIN 语句中type列的值 type连接类型 连接类型部分示例 all -- 环境描述 (root@localhost) [sakila]> show variables like 'version';+ + +| Variable_name | Value |+ + +| version
阅读全文
摘要:SQL注入 登录验证时的SQL注入攻击 写sql语句的时候, %传值的时候, 需要加引号: 上面的sql语句带来的风险是: 上面出现的问题,我们称之为 SQL注入 出现问题的根源是: 因为太过于相信用户的输入, 导致我们在接受用户输入的参数的时候, 并没有对他进行转义 解决SQL注入 1. 自己手工
阅读全文
摘要:数据行的操作 增 删除 修改 查询 基本 高级
阅读全文
摘要:不建立外键的情况下遇到的问题 1. 数据重复 2. 如果 部门过长的话, 太占用空间 解决方法 重新设计一张表, 这张表 中存放部门的相关信息 部门表 注意: 创建多个外键的时候, 名称不能一样 > 一对多 外键的变种 唯一索引 联合唯一索引 关系模型 一对多 一对一 多对多
阅读全文
摘要:数据库(database)的操作 增 删 改 查询 数据表(table)的操作 新建 增 查 删 查 改 字段类型 数据行(row data) 增 查询 删 改 总结 数据库: 增: create database 数据库名; 删: drop database 数据库名; 查: show datab
阅读全文
摘要:为啥使用数据库? 1、程序所有的组件就不可能运行在一台机器上 2、数据安全问题 3、并发 根据2的描述,我们必须写一个socket服务端来管理这台机器(数据库服务器)上的文件,然后写一个socket客户端,完成如下功能: 数据库的分类 关系型数据库 1. 有约束 2. 基于硬盘的存储 (就是将数据存
阅读全文
摘要:方法一:使用MySQL自带的代码提示 开启MySQL的命令自动补全功能MySQL默认没有开启命令自动补全功能编辑my.cnf文件 vi /etc/my.cnf[mysql]#no-auto-rehashauto-rehash #添加auto-rehash即将[mysql]中的no-auto-reha
阅读全文
摘要:MySQL解决Warning: World-writable config file ‘/etc/mysql/my.cnf’ is ignored 启动忽略配置文件 今天在修改mysql数据库的配置文件,由于方便操作,就将“/etc/mysql/my.cnf” 的权限设置成 “777” 了, 然后进
阅读全文
摘要:https://www.cnblogs.com/langdashu/p/5889352.html
阅读全文
摘要:与select模块实现的IO模型对比 1.select,需要遍历socket列表,频繁的对等待队列进行添加移除操作, 2.数据到达后还需要给变量所有socket才能获知哪些socket有数据 两个操作消耗的时间随着要监控的socket的数量增加而大大增加, 处于效率考虑才规定了最大只能监视1024个
阅读全文
摘要:1、进MySQL之后 2、输入以下语句,进入mysql库: use mysql; 3、更新域属性,'%'表示允许外部访问: update user set host='%' where user ='root'; 4、执行以上语句之后再执行(刷新配置): FLUSH PRIVILEGES; 5、再执
阅读全文
摘要:基本sql语句 1.库相关 文件夹 增 create database mydb charset utf8; 查 show databases; show create databases mydb; 改 alter database mydb charset gbk; 删 drop databas
阅读全文
摘要:一.认识数据库 1.什么是数据库? 数据库就是存储数据的仓库 存储数据的方式1 存储数据的方式2 计算机的性能进行扩展 访问不同计算机上的文件数据 2.常见数据库 关系型数据库 数据库可以为数据与数据之间建立关联关系,人是一条数据,他可能关联着一个工作岗位数据。双方可以通过自身找到对方。 非关系型
阅读全文
摘要:MAC 下 MySQL 常用命令 本人电脑为 MacOS 10.14 版本 MySQL 为 8.0.15 版本 查看mysql版本 方法一:status; 方法二:select version(); 方法三: \s Mysql启动、停止、重启常用命令 启动方式 1、使用 mysqld service
阅读全文
摘要:IO模型 模型就是解决某个问题的套路 IO问题: 输入输出 阻塞IO模型 (blocking IO) 我要一个用户名用来执行登陆操作,问题用户名需要用户输入,输入需要耗时, 如果输入没有完成,后续逻辑无法继续,所以默认的处理方式就是 等待!!! 将当前进程阻塞住,切换至其他进程执行,等到按下回车键,
阅读全文
摘要:# 服务端代码 import socket import select server = socket.socket() server.bind(("127.0.0.1", 1688)) server.listen(5) # server.setblocking(False) rlist = [server, ] # 将需要检测(是否可读==recv)的socket对象放到该列表中 #...
阅读全文
摘要:破解 Navicat Premium 12.1 本文参考: https://blog.csdn.net/wangyaodong915/article/details/82958372 Navicat Keygen Github: https://github.com/DoubleLabyrinth/
阅读全文
摘要:Mac平台下安装与配置MySQL Mac 安装MySQL 官网下载安装包,选择相应的版本和格式,有 .dmg 和 tar压缩包两种。我选择了 Mac OS X 10.11 (x86, 64-bit), DMG Archive 的版本下载,目前网站下载需要你注册登录,这个完全免费注册登录进去,就可以下
阅读全文
摘要:如何为Mac OS X启用Root账户? 如何为Mac OS X启用Root账户? 如何为Mac OS X开启 Root 账户? 打开“系统偏好设置”,进入“用户与群组”面板,记得把面板左下角的小锁打开 然后选择面板里的“登录选项”,在面板右边你会看到“网络账户服务器”,点击它旁边的“加入…”按钮。
阅读全文
摘要:brew 安装mysql 可以指定版本安装,不指定版本默认最新版本 修改环境变量 启动mysql服务
阅读全文
摘要:成功安装brew后,输入如下命令: 1、官网brew.sh复制安装脚本。 2、自动安装完成后,更换为清华源来加快速度。网址为:https://mirrors.tuna.tsinghua.edu.cn/help/homebrew 3、更换homebrew 更换homebrew-bottles (长期换
阅读全文
摘要:第一次用Mac, 今天使用终端下开发包,以前用虚拟机时用的apt-get , yum,rpm竟然全都用不了。同样是linux系统,本白一脸懵逼...... 查了下资料,发现Mac系统是使用brew命令instal 安装brew 打开终端,输入命令: 安装比较缓慢,耐心等待 出现如下提示表示安装成功:
阅读全文
摘要:# 实现协程的第二种方式 # 利用gevent 打上monkey补丁 from gevent import monkey monkey.patch_all() import gevent import time from threading import current_thread,enumerate def task1(): print(current_thread(),111)...
阅读全文
摘要:import greenlet # 绿色线程 (实现协程的一种方式) import time def task1(): print("task1 run") g2.switch() print("task1 over") g2.switch() def task2(): print("task2 run") g1.switch() t...
阅读全文
摘要:import time from threading import Event, Thread # import time # # is_running = False # # def boot_server(): # global is_running # print("Server is running ......") # time.sleep(2) # ...
阅读全文
摘要:# 使用yield实现单线程并发多个任务 # 引子 : 生成器回顾 # def func1(): # print('1') # yield # print('2') # yield # print('3') # yield # res = func1() # print(res) # # next(res) # 1 # next(res) #...
阅读全文
摘要:Queue LifoQueue PriorityQueue
阅读全文
摘要:GIL 释义 Global Interpreter Lock 全局解释器锁 GIL为CPython独有 使用Cpython的原因 之所以使用Cpython的原因?? 这样设计GIL的原因 GIL锁的加锁与解锁时机 GIL给我们造成的影响 多线程不能并行 案例 解决方案 GIL锁与自定义锁的关系
阅读全文
摘要:异步回调 爬虫中的异步回调(基于线程) 爬虫中的异步回调(基于进程)
阅读全文
摘要:操作日志模块 # 日志:日之石日常的流水,将程序运行过程中的状态或数据尽心记录,一般是记录到日志文件当中的。 # 在正常的项目之中,项目的运行的一些打印信息,采用logging打印到文件当中,这个过程就称作为 日志记录模块 # 以下为默认的操作日志模块代码! 简单配置 # 导入日志模块 import
阅读全文
摘要:获取当前运行环境的CPU核心数(线程数) 进程池(线程池)涉及到的专业英文词汇 进程池(线程池)特点 进程池(线程池)生成器的导包语句 创建进程池(线程池)实例:创建池子 线程池的使用 进程池的使用 进程池(线程池)的shutdown
阅读全文
摘要:IO密集型任务 子进程解决方案 IO密集型任务任务 子线程解决方案 计算密集型任务 子进程解决方案 计算密集型任务 子线程解决方案 总结:
阅读全文
摘要:线程 线程是操作系统中最小的运算调度单元,被包含在进程中,一个线程就是一个固定的执行流程 线程和进程的关系 线程不能单独存在 必须存在于进程中, 进程是一个资源单位,其包含了运行程序所需的所有资源 线程才是真正的执行单位 没有线程,进程中的资源无法被利用起来,所以一个进程至少包含一个线程,称之
阅读全文
摘要:# 以下内容来自CSDN#英文使用utf-8 转换成16进制hex字符串的方法 newstr = 'asd' b_str = bytes(newstr,encoding='utf-8') print(b_str) hex_str = b_str.hex() #将bytes类型转换成16进制的hex字符串 print(hex_str) #字节码转16进制hex的方法 print(byt...
阅读全文