2019-04-22-day037-数据库的安装
内容回顾
- 进程 线程 协程之间的相同点和不同点
- 进程 : 内存隔离 操作系统级别 开销大 可以利用多核 计算机中资源分配的最小单位
- 线程 : 内存共享 操作系统级别 开销中 Cpython解释器下不能利用多核 计算机中CPU调度的最小单位
- 协程 : 内存共享 用户级别 开销小 不能利用多核
- 协程 : 生产者消费者模型 进程模块提供的队列joinablequeue
- from queue imort Queue
- 相同点 : 都能够帮助我们实现并发操作,规避IO时间,提高程序执行效率
- 进程内存之间是否共享,如何实现通信
- 不共享
- 基于文件
- 队列 管道 manager
- 基于网络
- 第三方工具(redis kafka memcache rabbitMQ) socket
- 在python中是否线程安全
- 不安全
- python你写的python代码未来都会转换成机器码,机器码执行的过程中
- 如果有一个非原子性操作,那么就会导致线程数据不安全
- 需要手动加锁来解决问题
- 协程的本质是什么
- 多个任务在一条线程上能够实现切换
- 线程池开启任务
- 如何开启线程池,如何提交任务,获取返回值
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
- 改 读->写->删->改
数据库 : 能够更加简单的 使用 存储在文件中的数据
- 能够更好的解决并发问题
- 数据的统一问题
数据
- alex,alex3714 * 一行内容就是一条数据
- 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 在学校里教学使用的
数据库的安装与卸载
问题
- D:\mysql\mysql-5.6.43-winx64安装目录中不能有空格和中文
- my.ini文件是不是utf-8
- 配置文件里的每一个路径的最后 是不是有看不见的空格
- 文件的名 my.ini
- 安装包
卸载
- D:\mysql\mysql-5.6.43-winx64\mysqld remove 移出服务
- 把mysql整个文件都删掉\环境变量也删掉
- 重启电脑
最后的两招
- 换一个目录装
- 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-数据库的安装的更多相关文章
- Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...
- centos6.5 MySQL数据库的安装
<div id="home"><div id="header"> <div id="blogTitle"> ...
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
- Linux学习之CentOS6下Mysql数据库的安装与配置
转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
- CentOS6.4/6.7下Mysql数据库的安装与配置(转载)
通过RPM方式 给centos 安装mysql 最好有光盘,呵呵,网络也可以下载rpm安装包,不过文件较大. 1 挂载光盘 mount /dev/cdrom /mnt/cdrom/mount: b ...
- linux学习之centos(三):mysql数据库的安装和配置
前言:mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库, ...
- CentOS6.4下Mysql数据库的安装与配置
原文连接:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 说到数据库,我们大多想到的是关系型数据库,比如 ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)
原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...
- Mysql数据库的安装及配置
本文转载自http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...
随机推荐
- json处理+list.sort()排序
#coding:utf-8 """ json是一种轻量级数据交换格式,可以对复杂数据进行表达和存储 规格: 1.数据保存在键值对里 2.键值对之间由逗号分隔 3.花括号用 ...
- 搭建k8s(一)
安装VMWare VMWare官网地址 点击下载-->WorkStation Pro-->点击linux免费试用版 下载安装完成后,创建一个虚拟机,去centos官网找到centos7is ...
- [luogu P3313] [SDOI2014]旅行
[luogu P3313] [SDOI2014]旅行 题目描述 S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神 ...
- ORACLE相关函数使用总结
1. 2018年12月12日 12时12分 这种时间格式怎么转成2018-12-12 12:12 解决: select regexp_replace(regexp_replace('2009年6月 ...
- 路由导航之第一个子模块(HomeModule)
git clone git@github.com:len007/my-angular2-app.git my-angular2-app 开始 一个URL = 一个页面 = 一个Component. 我 ...
- python之路-----前端之css
本篇内容 CSS 语法 css的四种引入方式 css选择器 css属性操作 Caution! 后台管理布局 css响应式布局 一.CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声 ...
- javaScript简单的留言板
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- phthon--------异常处理
一 什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 而错误分成两种 # ...
- 蒙层嵌套pdf以及连接后台
一.在本地浏览pdf(直接将element-dialog 和 iframe相结合)需要将要浏览的pdf放入static文件夹下面 <el-button type="text" ...
- saltstack高效运维
saltstack高效运维 salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会 ...