对于数据库的认知,除了大学的时候上过数据库这门课,留下的印象大概就是几条SQL语句一些模棱两可的基本概念,直到工作后面临使用场景才发现数据库的重要性.故归纳总结一下自己的数据库学习之路. 学习资源: 图书: <SQL必知必会> <MySQL必知必会> <数据库概念> 在线课程: CodeCademy https://www.codecademy.com/courses/learn-sql 2.W3Schools http://www.w3schools.com/sql/…
MySQL基础(2) | 数据库.数据表 基本语法 数据库 #创建 CREATE DATABASE IF NOT EXISTS test_db_char DEFAULT CHARACTER SET utf8; #显示创建详情 SHOW CREATE DATABASE test_db_char; #修改 ALTER DATABASE test_db_char DEFAULT CHARACTER SET gbk; #删除 DROP DATABASE IF EXISTS test_db_char; #…
一 . 两次写提出的背景或要解决的问题 两次写(InnoDB Double Write)是Innodb中很独特的一个功能点.因为Innodb中的日志是逻辑的,所谓逻辑就是比如插入一条记录时,它可能会在某一个页面(这条记录最终被插入的位置)的多个偏移位置写入某个长度的值,例如页头的记录数.槽数.页尾槽数据.页中的记录值等.这些本是一些物理操作,而Innodb为了节省日志量及其它原因,设计为逻辑处理的方式,即在一个页面上插入一条记录时,对应的日志内容包括表空间号.页面号.将被记录的各个列的值等内容,…
information_schema 此数据库是MySQL数据库自带的,主要存储数据库的元数据,保存了关于MySQL服务器维护的所有其他数据库的信息,如数据库名.数据库表.表列的数据类型及访问权限等. 这个库在很多情况下,可以帮助我们做一些自动化处理的工作,比如巡检程序找到所有的MyISAM表,或者是找到所有的自增列快达到上限的表.很多工具的信息来源,比如Percona Toolkit,它在查一些信息的时候也是通过在这个库上执行SQL语句来做的. 这个库有其明显的缺点:它在每次查找的时候,都会现…
一.数据库基础 1.1什么是数据库? 什么是数据库? 答:就是一个很大的一个文件,只不过这个文件可以通过一些‘命令’操作数据: 增.删.改.查数据: 数据库等于持久数据和数据操作的一个统称. 数据库是按照数据结构来组织.存储及管理数据的仓库. 数据库有哪些? MySQL.SQL server.Oracle 都是关系型数据管理系统(RDBMS). SQL存储数据相对较小,最为常用的数据库就是MySQL(开源.免费) Orecal大型数据库(不开源.收钱) NOSQL Mongodb 操作数据库也有…
一般在生产环境中,很少用MySQL单实例来支撑业务,大部分的MySQL应用都是采用搭建集群的方法.搭建MySQL集群,可以进行数据库层面的读写分离.负载均衡或数据备份.基于MySQL原生的Replication是最常见的保证数据库安全的机制,满足数据库的高可用,在数据库发生宕机的情况后,其他节点还能快速提供服务,并且数据库的数据不丢失. Binlog是用来保存数据库修改的日志信息.一般的主从复制都是基于Binlog的,Binlog的安全直接关系到主从复制的安全,而Binlog的写入方式主要由参数…
在日常运维中,GTID带来的最方便的作用就是搭建和维护主从复制.GTID的主从模式代替了MySQL早期版本中利用二进制日志文件的名称和日志位置的做法,使用GTID使操作和维护都变得更加简洁和可高. 1.GTID的优点 (1)基于GTID搭建主从复制根据简单. (2)可以确保每个事务只会被执行一次. (3)可以方便的实现Replication的Failover,不需要像传统模式复制那样去找master_log_file和master_log_pos. (4)GTID在MGR中也发挥了中要作用.MG…
1.InnoDB的特点 :(1)Fully ACID (InnoDB默认的Repeat Read隔离级别支持):(2)Row-level Locking(支持行锁):(3)Multi-version concurrency control (MVCC 支持多版本控制):(4)Foreign key support (支持外键):(5)Automatic deadlock detection(死锁自动检测):(6)High performance.High scalability.High ava…
放在这里,以备后查. 1. 数据库, 数据库服务器, 数据库语言 数据库,是持久性数据的集合,供给定企业的应用程序系统使用,并且由一个数据库管理系统来管理: 数据库服务器,又称数据库管理系统,用来管理数据库(高效地存储.查询.更新数据库,并维护数据库的完整性状态):                  数据库语言,是应用程序用来向数据库服务器发送命令并从中取出所需要数据的特定语言. 2.  系统变量 查询系统变量: SELECT @@系统变量名 , eg. SELECT @@DATADIR    …
登陆到mysql mysql -u 用户名 -p [数据库]   显示数据库 show databases;   使用一个数据库 use 数据库名;   显示表 show tables;   纠正数据库编码 set names '编码';   创建一个数据库 create database '库名';   创建一个表 create table 表名(  字段名 类型(长度) 参数,  ....,  ....  );   退出mysql quit;   ======================…