mysql创建数据库

MySQL 什么是事务?

こ雲淡風輕ζ 提交于 2020-02-11 21:16:31
该文为《 MySQL 实战 45 讲》的学习笔记,感谢查看,如有错误,欢迎指正 一、事务简介 事务就是为了保证一组数据库操作,要么全部成功,要么全部失败。 事务是在引擎层实现的,也就是说并不是所有引擎都可以使用事务,MyISAM 就不支持事务,这也是为什么会被 InnoDB 取代的原因。 说到事务,就不得不说 ACID 特性(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性)。 二、ACID 特性 2.1 原子性(Atomicity) 一个事务中的多组操作,要么全部成功,要么全部失败。在事务提交(commit)成功之后,所有的操作都生效,提交失败,所有的操作都会回滚。 2.2 一致性(Consistency) 一个事务执行之前和执行之后数据库都必须处于一致性状态。在事务执行的过程中,只要事务未提交,就不会改变数据库的状态。提交之后事务已完成,此时数据库状态发生变化。 2.3 隔离性(Isolation) 事务在执行过程中,是与外界完全隔离的,即使数据库发生了变更,事务中也获取不到。A 事务对数据库做的变更,在事务未提交之间,数据库中也看不到,B 事务中也看不到。 2.4 持久性(Durability) 事务一旦提交,对数据库的变更就会持久化到磁盘,即使数据库发生异常重启,数据也不会丢失。 三、隔离级别

MySQL下载与安装

别等时光非礼了梦想. 提交于 2020-02-11 20:42:52
一、下载 地址: https://dev.mysql.com/downloads/mysql/ 当前最新是8.0版本,我选择上一个最新的mysql-5.7.24-winx64.zip 二、安装 MySQL安装文件分两种 .msi和.zip ,.msi需要安装 zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行环境变量配置zip格式是自己解压 我的电脑->属性->高级->环境变量 选择Path,在其后面添加: 你的mysql bin文件夹的路径 : F:\mysql\mysql-5.7.24-winx64\mysql-5.7.24-winx64\bin; 配置完环境变量之后,在F:\mysql\mysql-5.7.24-winx64\mysql-5.7.24-winx64目录下新增加一个配置文件mysql.ini ,同时在bin的同级目录下创建一个data文件夹(用于存放数据库数据) mysql.ini文件的内容如下 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=F:\mysql\mysql-5.7.24-winx64\mysql-5.7.24-winx64 # 设置mysql数据库的数据的存放目录

2 MySQL基础

痴心易碎 提交于 2020-02-11 17:14:20
1 数据库的基本概念 数据库的英文单词: DataBase 简称 : DB 什么数据库? 用于存储和管理数据的仓库。 数据库的特点: 持久化存储数据的。其实数据库就是一个文件系统 方便存储和管理数据 使用了统一的方式操作数据库 – SQL 常见的数据库软件 参见《MySQL基础.pdf》 2 MySQL数据库软件 安装 参见《MySQL基础.pdf》 卸载 去mysql的安装目录找到my.ini文件 复制 datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/” 卸载MySQL 删除C:/ProgramData目录下的MySQL文件夹。 配置 MySQL服务启动 手动。 cmd–> services.msc 打开服务的窗口 使用管理员打开cmd net start mysql : 启动mysql的服务 net stop mysql:关闭mysql服务 MySQL登录 mysql -uroot -p密码 mysql -hip -uroot -p连接目标的密码 mysql --host=ip --user=root --password=连接目标的密码 MySQL退出 exit quit MySQL目录结构 MySQL安装目录:basedir=“D:/develop/MySQL/” 配置文件 my.ini MySQL数据目录

MYSQL数据库学习----索引和触发器

强颜欢笑 提交于 2020-02-11 16:29:14
一:索引 索引是创建在数据库表上,其作用是提高对表中数据的查询速度。 假设数据库中有一张1000条记录的表格,如果没有创建索引的话,用户想通过查询条件查询,实际上是把整个数据库中1000条记录都读取一遍,满足查询条件的就加入结果集中,这样效率很低,如果表中创建了针对查询条件字段的索引,查询的时候会立即找到满足条件的记录加入结果集,不需要遍历过程,这样大大提高了数据库查询效率。 创建索引虽然提高了数据库表格的查询效率,但是也增加了数据库维护速度,因为索引需要占用物理空间,其次每次用户插入,更改,删除记录的时候都要同步操作索引,这样就造成数据维护速度降低,所以使用索引需要综合考虑索引的优点和缺点。 使用索引的几个建议 1.对经常作为查询条件的字段使用索引 2.如果需要用到索引尽量在整型字段上面使用索引 3.尽量使用唯一性的字段来创建索引 4.限制索引的数目,因为索引是占用物理空间的,并且数据更新需要同步操作索引,所以在索引的数量上面需要综合考虑 5.删除不再使用或者很少使用的索引 6.用户也可以在插入,更改,删除记录的时候先删除掉索引,在操作数据库,然后增加索引来使用 创建索引有几种方法: 1.创建表格的时候创建索引 创建普通索引 INDEX(字段名); 任意字段都可以 创建唯一索引 UNIQUE INDEX 索引名称(字段名); 唯一性字段可以

mysql数据库备份及恢复命令mysqldump,source的用法

我是研究僧i 提交于 2020-02-11 07:41:24
还原一个数据库:mysql -h localhost -u root -p123456 www<c:/www.sql 备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql //以下是在程序中进行测试 //$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile"; $command="mysqldump -h localhost -u root -p123456 guestbook > guestbook2-29.sql"; system($command); echo "success"; ************************************************ 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。 mysqldump -–add-drop-table -uusername

Mysql—存储过程

坚强是说给别人听的谎言 提交于 2020-02-11 00:51:59
存储过程   含义: 一组预先编译好的SQL语句的集合,理解成批处理语句   好处:     1、提高代码的重用性     2、简化操作     3、减少了编译次数并且减少了和数据库连接的次数,提高了效率 一、创建语法: CREATE PROCEDURE 存储过程名称(参数列表)   BEGIN     存储过程体(一组合法的SQL语句)   END   注意:  1、参数列表包含三部分     参数模式 参数名 参数类型     举例:       IN setuname VARCHAR(20)     参数模式:       IN:该参数可以作为输入, 也就是这参数需要调用方传入值       OUT:该蚕食可以作为输出,也就是该参数可以作为返回值       INOUT:该参数既可以作为输入又可以作为输出,也就是该参数既需要传入值,又可以返回值。   2、如果存储过程中只有一条语句 BEGIN END可以省略   存储过程体重的每条SQL语句的结尾要求必须加分号   存储过程的结尾可以使用DELIMITER 重新设置   语法:     DELIMITER 结束标记     案例:     DELIMITER $    二、调用语法:   CALL 存储过程名(参数列表);     1、空参列表     案例:插入到admin表中五条记录     DELIMITER $   

Python3 MySQL 数据库连接 - PyMySQL 驱动

不想你离开。 提交于 2020-02-10 21:25:06
什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。 如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL: $ pip install PyMySQL 数据库连接 db = pymysql.connect( host = "localhost", user = "root", password = "root", port = 3306, database = "mails" ) 数据库操作 # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 定义sql语句 sql = "select * from mail" # 使用 execute() 方法执行 SQL 查询 cursor.execute(sql) # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone()

linux安装数据库 配置make讲解

試著忘記壹切 提交于 2020-02-10 19:05:24
1.linux 下安装 mysql 源码文件包 我就 以 centos 6.4 为例 总结了一下希望对大家有帮助 在安装运行之前需要下载这些包,但是根据系统的差别又有点差别但差别不大: ·1 : yum install make 2: yum install bison 3: yum install gcc-c++ 4:yum install ncurses 一定要下载否则在执行 cmake . 的时候你就会遇到很多麻烦。 (1) 先安装 cmake ( mysql5.5 以后是通过 cmake 来编译的) [root@ rhel5 local]#tar -zxv -f cmake-2.8.0-rc3.tar.gz [root@ rhel5 local]#cd cmake-2.8.0-rc3 [root@ rhel5 cmake-2.8.4]#./configure [root@ rhel5 cmake-2.8.4]#make [root@ rhel5 cmake-2.8.4]#make install (2) 创建 mysql 的安装目录及数据库存放目录 [root@ rhel5~]#mkdir -p /usr/local/mysql // 安装 mysql [root@ rhel5~]#mkdir -p /usr/local/mysql/data // 存放数据库 (3) 创建

mysql 线程池 数据库连接池

不羁岁月 提交于 2020-02-10 17:53:49
当客户端请求的数据量比较大的时候,使用线程池可以节约大量的系统资源,使得更多的CPU时间和内存可以高效地利用起来。而数据库连接池的使用则将大大提高程序运行效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。本文我们主要就介绍一下线程池和数据库连接池的原理,接下来我们一起来了解一下这一部分内容。 线程池的原理: 其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又处于睡眠状态。可能你也许会问:为什么要搞得这么麻烦,如果每当客户端有新的请求时,我就创建一个新的线程不就完了?这也许是个不错的方法,因为它能使得你编写代码相对容易一些,但你却忽略了一个重要的问题?那就是性能!就拿我所在的单位来说,我的单位是一个省级数据大集中的银行网络中心,高峰期每秒的客户端请求并发数超过100,如果为每个客户端请求创建一个新线程的话,那耗费的CPU时间和内存将是惊人的,如果采用一个拥有200个线程的线程池,那将会节约大量的系统资源,使得更多的CPU时间和内存用来处理实际的商业应用,而不是频繁的线程创建与销毁。 数据库连接池的原理: 数据库连接是一种关键的有限的昂贵的资源

ProxySQL 基础篇

左心房为你撑大大i 提交于 2020-02-10 16:09:03
1、ProxySQL 介绍 ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层, 可以实现 读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。 介绍:相关 ProxySQL 的网站 https://www.proxysql.com/ https://github.com/sysown/proxysql/wiki    2、环境准备 全新初始化的实例 IP server-id 数据库版本 备注 10.0.0.160 1603306 MySQL 8.0.18 Master(主库)+ ProxySQL2.0.8 10.0.0.161 1613306 MySQL 8.0.18 Slave1(从库) 10.0.0.162 1623306 MySQL 8.0.18 Slave2(从库) ProxySQL 2.0.x 版本支持 MGR 注: 我的 ProxySQL 和 主库放在一起的,我已近配置好了主从复制状态 。这是我的实验环境,实际环境注意实际情况。一般的代理环境结构如上图。 slave 节点的read_only=1 3、ProxySQL 安装与启动 下载 wget https://github.com/sysown/proxysql