内容回顾

  1. 进程 线程 协程之间的相同点和不同点

    • 进程 : 内存隔离 操作系统级别 开销大 可以利用多核 计算机中资源分配的最小单位
    • 线程 : 内存共享 操作系统级别 开销中 Cpython解释器下不能利用多核 计算机中CPU调度的最小单位
    • 协程 : 内存共享 用户级别 开销小 不能利用多核
    • 协程 : 生产者消费者模型 进程模块提供的队列joinablequeue
      • from queue imort Queue
    • 相同点 : 都能够帮助我们实现并发操作,规避IO时间,提高程序执行效率
  2. 进程内存之间是否共享,如何实现通信
    • 不共享
    • 基于文件
      • 队列 管道 manager
    • 基于网络
      • 第三方工具(redis kafka memcache rabbitMQ) socket
  3. 在python中是否线程安全
    • 不安全
    • python你写的python代码未来都会转换成机器码,机器码执行的过程中
    • 如果有一个非原子性操作,那么就会导致线程数据不安全
    • 需要手动加锁来解决问题
  4. 协程的本质是什么
    • 多个任务在一条线程上能够实现切换
  5. 线程池开启任务
    • 如何开启线程池,如何提交任务,获取返回值
from concurrent.futures import ThreadPoolExecutor
def func(arg):
    return arg * 20

tp = ThreadPoolExecutor(5)
ret_l = []
for i in range(100):
    ret = tp.submit(func,i)
    ret_l.append(ret)
for r in ret_l:
    print(r.result())
from concurrent.futures import ThreadPoolExecutor
def func(arg):
    return arg * 20

tp = ThreadPoolExecutor(5)
ret_l = tp.map(func,range(100))
for r in ret_l:
    print(r)

协程复习 :

数据是否安全 : 绝对安全

a = 1
def func1():
    global a
    a += 1

def func2():
    global a
    a += 1
  • 和线程的关系

    • 本质就是一条线程
  • gevent模块
    • g1 = spawn(协程函数,参数)
    • g1.join()
    • gevent.joinall([g1])
    • monkey.patch_all()
  • greenlet switch
  • 并没有减少io操作
import time
from gevent import monkey
monkey.patch_all()

print(time.sleep)
<built-in function sleep>
<function sleep at 0x0000023FEBF62378>

数据库

  • day1.介绍数据库\安装\基础的命令
  • day2.数据库的表操作
  • day3.数据库的数据操作,查询(单表\多表)
  • day4.查询和其他内容的拾遗
  • day5.索引原理和python操作mysql
  • 今天的内容
    • 介绍数据库\安装\基础的命令
  • 数据库在开发的过程中占据着什么样的位置?
  • 在整个项目中又有什么意义?
  • 我们把数据存储在文件里
    • 写 write
    • 读 read
    • 改 读->写->删->改

数据库 : 能够更加简单的 使用 存储在文件中的数据

  • 能够更好的解决并发问题
  • 数据的统一问题

数据

  1. alex,alex3714 * 一行内容就是一条数据
  2. python,19800,6 months * 一条数据

数据库 DataBase DB

  • 存储数据的地方,我们把所有的数据都存储在一个固定的
  • 地方,那么这个地方就是数据库

数据库管理系统 DBMS

  • 负责管理数据仓库中存储的所有文件中的内容
  • 能够更好(简单 高效 安全)的帮助我们完成数据的增删改查

数据库服务器

  • 什么是服务器 : 本质就是一台计算机
  • 当一台计算机上安装了某个软件能够对外提供服务的时候,那么这台机器就成为服务器
  • 数据库服务器
    • 当这台机器上安装的服务是一个数据库
    • server端的时候,我们就得到了一台数据库服务器

数据库管理员 DBA

  • 专门帮助我们管理数据库 并且优化数据库的工作人员
  • mysql就是一个DBMS(能够管理硬盘上数据文件的一个软件)
  • 通过一些固定的简单的指令 帮助我们完成从文件中查找对应数据的软件
  • oracle 也是一个DBMS

查 name,id 从 userinfo 条件 age = 83

查 number 从 userinfo 条件 name='wusir'

数据库管理系统的作用:

  • 关系型数据库
  • 非关系型数据库

mysql 开源的软件 - 小公司 各种互联网公司(二次开发之后的mysql)

  • oracle 付费的 - 金融行业 国企事业单位
  • sql server 在学校里教学使用的

数据库的安装与卸载

问题

  1. D:\mysql\mysql-5.6.43-winx64安装目录中不能有空格和中文
  2. my.ini文件是不是utf-8
  3. 配置文件里的每一个路径的最后 是不是有看不见的空格
  4. 文件的名 my.ini
  5. 安装包

卸载

  1. D:\mysql\mysql-5.6.43-winx64\mysqld remove 移出服务
  2. 把mysql整个文件都删掉\环境变量也删掉
  3. 重启电脑

最后的两招

  1. 换一个目录装
  2. vc运行库

一堆命令

什么是环境变量?

当我们执行一个系统中的可执行文件的时候
例如 mysql.exe或者 mysqld.exe或者python.exe
如果我们不配环境变量,
那么就需要进入mysql.exe所在的目录去执行
或者带着这个文件的绝对路径去执行
我们经常要执行这些文件
所以把文件的路径添加到环境变量中
就可直接输入文件名来执行程序了

mysqld install
mysqld.exe install  要安装mysql的server端
net start mysql 启动server端
mysql -uroot -p 启动client端

#重启server
net stop mysql
net start mysql

client端的启动

c://>mysql -uroot #表示没有密码的情况下用root用户登录
c://>mysql -uroot -p #表示使用密码登录
Enter password:#输入密码,如果没有密码直接回车

mysql > select user(); #查看当前用户
set password = password('123');#给当前用户设置密码

#查看当前的所有数据库
mysql > show databases;

#root用户在mysql当中相当于管理员用户
#其他的程序员想要使用数据库来存储项目数据,不能给他权限最高的管理员用户

可以创建用户 并且给用户授权

create user 'eva@192.168.16.%';
create user 'eva@192.168.16.%' identified by '123';

#既可以给一个已经存在的用户授权,也可以给一个不存在的用户创建并授权
grant 权利 on 数据库名.表名 to '用户名@ip地址'
grant 权利 on 数据库名.表名 to '用户名@ip地址' identified by '123';
   * 权利 : SELECT INSERT UPDATE DELETE ALL

#创建一个数据库 s20_day1
create database s20_day1;

#创建一个stu用户 密码是123 ip地址是192.168.16网段的所有机器
能对这个数据s20_day1做增删改查的所有操作
grant all on s20_day1.* to 'stu@192.168.16.%' identified by '123';

192.168.16.13
mysql -ustu -h192.168.16.13 -p
123

grant all on s20_day1.* to 'stu'@'192.168.16.%' identified by '123';
#用户名 密码 ip地址
mysql -u用户名 -hip地址 -p 密码

ddl语言

  • 文件夹(数据库)的增删改查

    • 创建数据库

      • create database 数据库名;
    • 使用数据库
      • use 库名;
    • 查看数据库下有哪些表
      • show tables;
  • 表的增删改查
    • 创建表

      • create table 表名(字段名 数据类型(长度),字段名2 数据类型(长度),..)
    • 查看表结构
      • desc 表名;
    • 修改表
      • alter table t1 change name username char(12);
    • 删除表
      • drop table t1;

dml语言

  • 数据的增删改查

    • 增加
    • insert into 表名 values (值1,值2,...); 插入一条数据
    • insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...); 插入多条数据
    • 查看数据
    • select * from 表名;
    • 修改数据
    • update 表 set 字段名=值 where 条件;
    • 删除数据
    • delete from 表 where 条件;

my.ini

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir = D:\mysql\mysql-5.6.43-winx64
# 设置mysql数据库的数据的存放目录
datadir = D:\mysql\mysql-5.6.43-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB(base)

2019-04-22-day037-数据库的安装的更多相关文章

  1. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

  2. centos6.5 MySQL数据库的安装

    <div id="home"><div id="header"> <div id="blogTitle"> ...

  3. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  4. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  5. Linux学习之CentOS6下Mysql数据库的安装与配置

    转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  6. CentOS6.4/6.7下Mysql数据库的安装与配置(转载)

    通过RPM方式 给centos  安装mysql  最好有光盘,呵呵,网络也可以下载rpm安装包,不过文件较大. 1 挂载光盘 mount /dev/cdrom /mnt/cdrom/mount: b ...

  7. linux学习之centos(三):mysql数据库的安装和配置

    前言:mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库, ...

  8. CentOS6.4下Mysql数据库的安装与配置

    原文连接:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 说到数据库,我们大多想到的是关系型数据库,比如 ...

  9. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)

    原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...

  10. Mysql数据库的安装及配置

    本文转载自http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...

随机推荐

  1. json处理+list.sort()排序

    #coding:utf-8 """ json是一种轻量级数据交换格式,可以对复杂数据进行表达和存储 规格: 1.数据保存在键值对里 2.键值对之间由逗号分隔 3.花括号用 ...

  2. 搭建k8s(一)

    安装VMWare VMWare官网地址 点击下载-->WorkStation Pro-->点击linux免费试用版 下载安装完成后,创建一个虚拟机,去centos官网找到centos7is ...

  3. [luogu P3313] [SDOI2014]旅行

    [luogu P3313] [SDOI2014]旅行 题目描述 S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神 ...

  4. ORACLE相关函数使用总结

    1. 2018年12月12日 12时12分  这种时间格式怎么转成2018-12-12 12:12  解决: select regexp_replace(regexp_replace('2009年6月 ...

  5. 路由导航之第一个子模块(HomeModule)

    git clone git@github.com:len007/my-angular2-app.git my-angular2-app 开始 一个URL = 一个页面 = 一个Component. 我 ...

  6. python之路-----前端之css

    本篇内容 CSS 语法 css的四种引入方式 css选择器 css属性操作 Caution! 后台管理布局 css响应式布局 一.CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声 ...

  7. javaScript简单的留言板

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. phthon--------异常处理

    一 什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 而错误分成两种 # ...

  9. 蒙层嵌套pdf以及连接后台

    一.在本地浏览pdf(直接将element-dialog 和 iframe相结合)需要将要浏览的pdf放入static文件夹下面 <el-button type="text" ...

  10. saltstack高效运维

    saltstack高效运维   salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会 ...