mysql创建数据库

MySQL基础架构

回眸只為那壹抹淺笑 提交于 2020-02-25 11:41:00
前段时间订阅了《Mysql实战45讲》(从原理到实战),新的一年为自己充充电。对于这部分内容,我所知道的只来源于我大学里学习的课程《数据库原理》,在大学里学习的只是简单的查询,增加,删除,索引,锁,触发器,视图等内容。几乎没有基础的架构知识。因此在这里巩固一下原理,学习一下数据库Mysql在原理上究竟是怎样的。 首先我们一起看一个Mysql的基本架构示意图: 1、Mysql可以分为Server层和存储引擎层两部分。 2、Server层:包含连接器,查询缓存,分析器,优化器,执行器等,涵盖了MySQL的大多数核心功能区以及所有的内置函数。 ①内置函数:日期,时间,数学和加密函数等; ②所有跨存储引擎的功能都在这一层实现,例如存储过程,触发器,视图等; 3、存储引擎层:负责数据的存储和提取。 ①架构模式:插件式的,支持InnoDB(目前也是最常用的,MySQL5.5后默认存储引擎)、MyISAM、Memory等多个存储引擎。 ②create table 时不指定引擎类型,默认使用的就是InnoDB.如果使用其他类型,可以利用create table语句中使用engine=memory,等来指定使用内存引擎来创建表。不同的存储引擎数据存储方式不同,支持的功能也不同。 4、不同的存储引擎共用一个server层,结合一个例子我们从总体上了解一下各部件的功能。 mysql> select *

MySQL逻辑架构简介

北城余情 提交于 2020-02-25 11:30:07
1.Connectors 指的是不同语言中与SQL的交互 2 Management Serveices & Utilities: 系统管理和控制工具 3 Connection Pool: 连接池 管理缓冲用户连接,线程处理等需要缓存的需求。 负责监听对 MySQL Server 的各种请求,接收连接请求,转发所有连接请求到线程管理模块。每一个连接上 MySQL Server 的客户端请求都会被分配(或创建)一个连接线程为其单独服务。而连接线程的主要工作就是负责 MySQL Server 与客户端的通信, 接受客户端的命令请求,传递 Server 端的结果信息等。线程管理模块则负责管理维护这些连接线程。包括线程的创建,线程的 cache 等。 4 SQL Interface: SQL接口。 接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface 5 Parser: 解析器。 SQL命令传递到解析器的时候会被解析器验证和解析。解析器是由Lex和YACC实现的,是一个很长的脚本。 在 MySQL中我们习惯将所有 Client 端发送给 Server 端的命令都称为 query ,在 MySQL Server 里面,连接线程接收到客户端的一个 Query 后,会直接将该 query 传递给专门负责将各种 Query

PHP-Wamp集成包安装教程

♀尐吖头ヾ 提交于 2020-02-25 08:05:28
在Windows平台上搭建PHP的开发环境可以下载WAMP(Windows、Apache、MySQL、PHP的首字母缩写)集成化安装包。这样就不需要单独安装Apache、MySQL和PHP了。 这款软件在安装的过程中就已经把Apache、MySQL、PHP继承好了,而且也做好了相应的配置,除此之外,还加上了SQLitemanager和Phpmyadmin,省去了很多复杂的配置过程,让我们能把更多的时间放在程序开发上。更值得高兴地是这款软件也是完全免费的,大家可以登录http://www.wampserver.com/en/下载。 重要提示:基本上每一步更改配置文件的操作结束之后,均在重启了相应服务之后才会生效,也就是说如果想要修改立即生效的话,必须在修改完毕保存之后重新启动一下相应的服务! 一、安装wampserver 可能会在安装过程中发生下面错误: 解决办法:访问地址 http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=30679 下载并安装对应版本(我这里是64位) 然后开始正式安装wampserver啦!安装步骤非常简单。 这里是选择默认浏览工具:安装过程中会提示要选择默认浏览工具,如图所示,不过要注意的是,这个浏览工具指的可不是浏览器,它指的是windows的浏览器,也就是explorer.exe

Web安全篇之SQL注入攻击

萝らか妹 提交于 2020-02-25 03:32:43
在网上找了一篇关于sql注入的解释文章,还有很多技术,走马观花吧 文章来源: http://www.2cto.com/article/201310/250877.html ps:直接copy,格式有点问题~ 大家早上好!今天由我给大家带来《web安全之SQL注入篇》系列晨讲,首先对课程进行简单介绍, SQL注入篇一共分为三讲: 第一讲:“纸上谈兵:我们需要在本地架设注入环境,构造注入语句,了解注入原理。”; 第二讲:“实战演练:我们要在互联网上随机对网站进行友情检测,活学活用,举一反三”; 第三讲:“扩展内容:挂马,提权,留门。此讲内容颇具危害性,不予演示。仅作概述”。 这个主题涉及的东西还是比较多的,结合我们前期所学。主要是让大家切身体会一下,管中窥豹,起到知己知彼的作用。千里之堤溃于蚁穴,以后进入单位,从事相关 程序开发 ,一定要谨小慎微。 问:大家知道骇客们攻击网站主要有哪些手法? SQL注入,旁注,XSS跨站,COOKIE欺骗,DDOS,0day 漏洞 ,社会工程学 等等等等,只要有数据交互,就会存在被入侵风险!哪怕你把网线拔掉,物理隔绝,我还可以利用传感器捕捉电磁辐射信号转换成模拟图像。你把门锁上,我就爬窗户;你把窗户关上,我就翻院墙;你把院墙加高,我就挖地洞。。。道高一尺魔高一丈,我始终坚信计算机不存在绝对的安全,你攻我防,此消彼长,有时候,魔与道只在一念之间。 下面

MySQL SQL常用语句

纵然是瞬间 提交于 2020-02-25 02:31:19
目录 MySQL语句 MySQL对象 insert用法 update用法 select用法 delete用法 MySQL语句 SQL语句是结构化的查询语言,mysql接口程序只负责接受sql,传送给sql层 SQL语句的种类: DDL:数据库 对象 定义语言 DCL:数据库 控制 语言(grant revoke) DML:数据 行 操作语言(update delete insert) DQL:数据 查询 语言(show、select) MySQL对象 1、数据库对象 库 能定义什么? 库名 库的基本属性(字符集、排序规则) 如何定义? create database [dbname] create schema [dbname] 1.创建数据库 //创建库名为:case1和case2,以下两种方法功能一致 mysql> create database case1; Query OK, 1 row affected (0.00 sec) mysql> create schema case2; Query OK, 1 row affected (0.00 sec) 2.创建数据库,指定字符集 字符集:[DEFAULT] CHARACTER SET [=] charset_name 排序规则:[DEFAULT] COLLATE [=] collation_name mysql>

MySQL备份之mysqldump

假如想象 提交于 2020-02-25 02:30:46
mysqldump 是 mysql自带的数据库备份工具 ,属于 单线程 ,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是执行一遍备份文件中的所有sql语句, mysqldump 提供了 丰富的options选项 ,可以在 导出或者导入数据 的时候, 添加需要的options ,以便达到用户预期的效果 mysql常用参数 // 导出全部数据库。 // --all-databases , -A mysqldump -uroot -p --all-databases // 导出全部表空间。 // --all-tablespaces , -Y mysqldump -uroot -p --all-databases --all-tablespaces // 不导出任何表空间。 // --no-tablespaces , -y mysqldump -uroot -p --all-databases --no-tablespaces // 导出几个数据库。参数后面所有名字参量都被看作数据库名。 // --databases, -B mysqldump -uroot -p --databases [数据库名1] [数据库名2] // 每个数据库创建之前先添加drop数据库语句

mysql中用户和权限

烈酒焚心 提交于 2020-02-25 01:36:30
用户管理 用户数据所在位置: mysql 中的所有用户,都存储在系统数据库( mysql )中的 user 表中——不管哪个数据库的用户,都存储在这里。 表初始内容如下: 创建用户: 形式: create user ‘用户名’@’ 允许登录的地址 / 服务器 ’ identified by ‘密码’; 说明: 1 ,允许登录的地址 / 服务器就是,允许该设定的位置,来使用该设定的用户名和密码登录,其他位置不行; 2 ,可见, mysql 的安全身份验证,需要 3 个信息。 举例: 查看mysql 中的 user 表: 则某同学登录的结果为: 删除用户: drop user ‘用户名’@’允许登录的地址或服务器名’; 修改用户密码: 修改自己的密码: set password = password('密码') ; 修改他人的密码(前提是有权限): set password for '用户名'@'允许登录的地址' = password('密码') ; 权限管理 权限是什么? mysql 数据库,将其中所能做的所有事情,都分门别类分配到大约 30 多个权限中去了,其中每个权限,都是一个“单词”而已!,比如: select :代表可以查询数据; update :代表可以修改数据; delete :代表可以删除数据; ....... 其中,有一个权限名叫做 “ all ”:表示所有权限;

Tomcat,Jboss,Weblogic通过jndi连接数据库

给你一囗甜甜゛ 提交于 2020-02-24 20:07:21
1. Tomcat 配置Jndi数据源 1.1在tomcat服务器的lib目录下加入数据库连接的驱动jar包 1.2修改tomcat服务器的conf目录下server.xml配置文件 编辑server.xml文件,添加全局JNDI数据源配置,配置如下: <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> <!-- |- name:表示以后要查找的名称。通过此名称可以找到DataSource,此名称任意更换,但是程序中最终要查找的就是此名称, 为了不与其他的名称混淆,所以使用jdbc/oracle,现在配置的是一个jdbc的关于oracle的命名服务。 |- auth:由容器进行授权及管理,指的用户名和密码是否可以在容器上生效 |- type:此名称所代表的类型,现在为javax.sql.DataSource

Scrapy安装与应用教程

ぃ、小莉子 提交于 2020-02-24 15:49:34
1 scapy介绍 scrapy是一个基于twisted(python)的开源的爬虫框架,注意它是一个框架,不同于requests和urllib,这两个是库,很多功能都需要自己去实现 scrapy优点 耦合度低,可扩展性强 可以快速灵活定制需求,例如实现log,参数配置,监控,数据处理 针对爬虫中遇到的各类问题(反爬虫策略,数据解析,数据持久化等),只需完成指定模块的开发就可以实现功能 异步实现,并发量大,适用于大规模爬取数据 上图是scrapy的框架,包括以下几个部分 engine:负责处理整个系统的数据流,出发事务 spider:负责发起requests,解析response的数据内容为item,并将解析后的item返回给引擎 item pipelines:负责处理items,包括过滤,分析,存储等,常见的应用就是将数据存入数据库 downloader:负责根据request内容下载数据并返回response middleware:处理request和response的中间件,常见应用包括设置数据请求头,代理和代理IP等 scheduler:负责接受引擎发送来的请求,并将其加入队列中。 2 scrapy安装 pip install scrapy 3 scrapy项目启动 #创建一个scrapy项目:scrapy startpoject 项目名称 scrapy

MySQL ----数据库操作

我的梦境 提交于 2020-02-24 10:03:35
SQL语法组成 • DML( Data Manipulation Language数据操作语言 查询、插入、删除和修改数据库中的数据; SELECT、INSERT、 UPDATE 、DELETE等; • DCL( Data Control Language数据控制语言) ——用来控制存取许可、存取权限等; ——GRANT、REVOKE 等; • DDL( Data Definition Language数据定义语言) ——用来建立数据库、数据库对象和定义其列 ——CREATE TABLE 、DROP TABLE、ALTER TABLE 等 • 功能函数 ——日期函数、数学函数、字符函数、系统函数等 可以添加BINARY关键字让 MySQL执行区分大小写的比较。 mysql 连接数据库 mysql -h host_name -u user_name –ppassword 导入数据库 mysql –u root –p --default-characterset=latin1 dbname < backup.sql 导出数据库 mysqldump –u root –p tmpdb > backuptmp.sql 创建数据库 mysqladmin –u root –p create newdb 删除数据库 mysqladmin –u root –p drop newdb 更改密码