day38
今日内容:
1.认识数据库
2.修改默认密码
3.常用操作指令
1.认识数据库
什么是MYSQL?
是一个关系型数据库管理系统,基于socket编写的C/S架构的软件
什么是数据库?
数据:用于记录事物状态的符号
记录:描述事物的典型特征的组合,在文件中就是有一行文本
表:一个文件
库:一个文件夹
文件处理就可以将数据永久保存 用我们之前所学的文件处理来保存数据的问题:
1.管理不方便
2.文件操作效率问题
3.一个程序不太可能仅运行在同一台电脑上 提高计算机性能的方式:
1.垂直扩展:为计算机更换性能更好的硬件
2.水平扩展:就是添加更多的计算机,把人物分配给每一台(分布式计算)
分布式计算的好处
1.其中某一台崩溃了,不会导致整个系统瘫痪 稳定性高
2.理论上性能可以无限扩展 分布式计算其实也是整体
数据需要被共享,这就需要socket技术
共享就存在竞争问题,用到了加锁处理
文件存取效率问题 数据库本质上就是一套软件 由客户端和服务器端组成 C/S 目前常见的数据库
关系型数据库
数据与数据之间可以建立关联关系(用户数据和购买信息)
SQLSever
仅支持windows
MySQL
免费 开源 性能不差
Oracle
目前最牛的数据库 收费高
DB2
IBM 收费的 一般与计算机绑定销售 非关系型数据库
速度贼快
key value 存取
MongoDB
redis
memcache
2.修改默认密码
设置密码
mysqladmin.exe 用于设置密码
mysqladmin -uroot -p旧密码 password 新密码 破解密码
1.删除存储密码的文件
2.重装mysql
3.可以在启动服务器时,设置不用读取密码文件
1.mysqld -skip-grant-tables
2.无密码连接服务器
3.使用update 来更新你的密码 在mysql.user表中
在客户端 update mysql.user set password=password("321") where user="root" and host="localhost"
4.重启服务 验证新密码 安装mysql得到两个程序
1.服务器程序
存取数据时服务器的工作
2.客户端程序
命令服务器来完成存取工作
客户端将命令发送给服务器 服务器解析执行命令 返回客户端要的数据 服务器为了保证数据安全需要进行用户验证
默认有一个root 账户 默认没有密码 不安全
需要修改密码:
在服务器的终端中执行
mysqladmin.exe -u要改的用户名 -p旧密码 password 新密码
在服务器上执行命令时 如果看到Install/Remove of the Service Denied!说明权限不够
需要以管理员身份执行CMD
如果忘记密码 要破解 也需要在服务器终端启动mysql服务 并且需要添加跳过授权表的参数 mysql -uroot -padmin 用mysql自带的客户端登录服务器
-u用户名 -p密码 -h服务器的ip -P 端口号 (在本机上执行客户端不需要 -h -P) 常见sql命令
客户端使用:
show databases;(查看所有数据库名称) use 数据库名称(选择某个数据库) quit/exit(退出客户端) 服务器端使用:
mysqld
mysqladmin
3.常用操作指令
基本sql语句
1.库相关
增
create database mydb charset utf8;
查
show databases;
show create databases mydb;
改
alter database mydb charset gbk
删
drop database mydb;
2.表相关
增
切换⽂件夹 (选择数据库)
use mydb;
create table t1 (id int,name char)
查
show tables;
show create table t1;
desc t1;
改
改字段
alter table 表名 add | modify | drop | change
add 跟 列名和类型
modify 跟 列名 和 类型
查看更多
drop 跟列名
change 跟 旧列名 新列名 类型
改字符编码
alter table 表名 default character set gbk
改名称
rename table tname1 to tname2
删
drop table 表名
3.记录相关
增
nsert into tablename values(data,....),(data)...
查
select id,name from t1; 列名可⽤*号表示通配符
改
update 表名 set 列名 = 值 where 条件 ; 可同时修改多个
字段
⽤逗号隔开 列名=值,列名=值...
没有条件则修改全部
删
delete from 表名 where 条件;
没有条件则删除所有;
truncate table t1;
重建表,清空所有数据;
day38的更多相关文章
- day38 爬虫之Scrapy + Flask框架
s1617day3 内容回顾: Scrapy - 创建project - 创建爬虫 - 编写 - 类 - start_urls = ['http://www.xxx.com'] - def parse ...
- day38——线程queue、事件event、协程
day38 线程queue 多线程抢占资源 只能让其串行--用到互斥锁 线程queue 队列--先进先出(FIFO) import queue q = queue.Queue(3) q.put(1) ...
- day38(增强类的实现)
定义一个接口 package com.baidu.test; public interface Person { public abstract void eat(); public abstract ...
- 分布式监控系统开发【day38】:监控trigger表结构设计(一)
一.需求讨论 1.zabbix触发器的模板截图 1.zabbix2.4.7 2.zabbix3.0 2.模板与触发器关联的好处 好处就是可以批量处理,比如我说我有1000机器都要监控cpu.内存.IO ...
- 分布式监控系统开发【day38】:报警策略设计(二)
一.策略和动作多对多的好处坏处 1.好处: 相同服务,相同策略的服务可以不用重复写好多次触发器 2.坏处: 1.策略A给小李和小罗发邮件2.策略B给小胡和小崔发邮件3.策略A是第三部发邮件4.策略B是 ...
- 分布式监控系统开发【day38】:报警阈值程序逻辑解析(三)
一.需求讨论 1.请问如何解决延迟问题 1000台机器,每1分钟循环一次但是刚好第一次循环第一秒刚处理完了,结果还没等到第二分钟又出问题,你那必须等到第二次循环,假如我这个服务很重要必须实时知道,每次 ...
- 分布式监控系统开发【day38】:报警策略队列处理(五)
一.目录结构 二.报警策略队列处理 1.入口MonitorServer import os import sys if __name__ == "__main__": os.env ...
- 分布式监控系统开发【day38】:报警模块解析(六)
一.负责把达到报警条件的trigger进行分析 ,并根据 action 表中的配置来进行报警 1.目录结构 2.功能如下 1.找到trigger的关联动作, 2.收到的数据传给trigger_msg就 ...
- 分布式监控系统开发【day38】:主机存活检测程序解析(七)
一.目录结构 二.入口 1.文件MonitorServer.py import os import sys if __name__ == "__main__": os.enviro ...
- 分布式监控系统开发【day38】:报警自动升级代码解析及测试(八)
一.报警自动升级代码解析 发送邮件代码 def action_email(self,action_obj,action_operation_obj,host_id,trigger_data): ''' ...
随机推荐
- JavaScript--事件对象(25)
// JavaScript事件的一个重要的方面是它们拥有一些相对一致的特点,可以给开发提供强大的功能; // 最方便和强大的就是事件对象,它们可以帮你处理鼠标事件和键盘敲击方面的情况; // 此外还可 ...
- POJO、JAVABEAN、*O、EJB
POJO: 全称:Plain Old Java Object 解释:纯洁老式的java对象.从任何类继承.也没有实现任何接口,更没有被其它框架侵入的java对象 理解:通常我们常说的实体类 BEAN: ...
- element-ui inputNumber、Card 、Breadcrumb组件源码分析整理笔记(三)
inputNumber组件 <template> <!--@dragstart.prevent禁止input中数字的拖动--> <div @dragstart.preve ...
- 树莓派 引脚及接口图 AV接口顺序
树莓派 引脚图 注:本表格适用于各版本,并且兼容26Pin的树莓派B,树莓派B为26Pin,其引脚对应于上表的前26Pin. 树莓派 接口图 AV接口又称(RCA),AV接口算是出现比较早的一种接 ...
- React Native 二维码扫描组件
学rn得朋友们,你们知道rn开源项目吗?来吧看这里:http://www.marno.cn/(rn开源项目) React Native学习之路(9) - 注册登录验证的实现 + (用Fetch实现po ...
- Oracle表字段的增删改和重命名
增加字段语法:alter table tablename add (column datatype [default value][null/not null],….); 说明:alter table ...
- matlab练习程序(单层感知器)
clear all; close all; clc; %生成两组已标记数据 randn(); mu1=[ ]; S1=[ ; ; 0.4]; P1=mvnrnd(mu1,S1,); mu2=[ ]; ...
- Maven入门详情
Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差ja ...
- Azure 中虚拟机的区域和可用性
Azure 在中国的两个数据中心运行. 这些数据中心分组到地理区域,让用户可灵活选择构建应用程序的位置. 请务必了解 Azure 中虚拟机 (VM) 运行的方式和位置,以及最大化性能.可用性和冗余的选 ...
- 五大问题,详解阿里云PTS铂金版
阿里云PTS铂金版,具备强大的分布式压测能力,相比业界产品的云主机发起,该产品更快速,来源更广泛,脉冲能力和流量掌控能力更强.日前,阿里云推出了PTS铂金版尝鲜包,旨在为用户提供高性价比的最佳实践.我 ...