MYSQL基础增强 库操作 创建一个使用UTF-8字符集的数据库: create database mydb character set UTF8; 创建一个带校对集的数据库 create database mydb character set UTF8 collate utf8_general_ci; 查看所有数据库: show databases; show databases like 'pattern'; 显示数据库的创建信息 show create database mydb ; 删除…
MYSQL基础增强(Myql函数) 在这里只介绍一些常用的,比较新颖的: 字符串函数: CONCAT://字符串连接函数 mysql> SELECT CONCAT('My', 'S', 'QL'); -> 'MySQL' mysql> SELECT CONCAT('My', NULL, 'QL');//与null连接会变null -> NULL mysql> SELECT CONCAT(14.3); -> '14.3' CONCAT_WS://含分隔符的字符串连接 my…
(3.15)mysql基础深入——mysql默认数据库 关键词:Mysql默认数据库,mysql系统数据库 系统数据库的组成 一共4个 [1]information_schema(可以理解成字典表) [2]mysql(存放系统信息) [3]performance_schema(监控.统计.分析mysql) [4]sys([3]库的简化) 详细分析 [1]information_schema 提供数据库的元数据:比如数据库的数据名,表名,列信息,访问权限,索引,视图,存储过程,函数等信息: 常用表…
(3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 [2]mysqlbinlog:二进制日志分析工具 [3]myprofi:对于只想看sql语句及执行次数的用户来说,比较推荐. [4]mysql-explain-slow-log:德国人写的一个Perl脚本,功能上有点瑕疵.不建议使用. [5]mysql-log-filter:生成简…
(3.13)mysql基础深入——mysql 日志分析工具之mysqlsla 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 [2]mysqlbinlog:二进制日志分析工具 [3]myprofi:对于只想看sql语句及执行次数的用户来说,比较推荐. [4]mysql-explain-slow-log:德国人写的一个Perl脚本,功能上有点瑕疵.不建议使用. [5]mysql-log-filter:生成简介报表日志分析,…
(3.12)mysql基础深入——mysql日志文件/其他文件(socket/pid/表结构/Innodb) 关键词:mysql日志文件,mysqldumpslow分析工具 目录:日志文件的分类 1.错误日志(error log) 2.二进制日志(binlog):mysqlbinlog分析查看工具 3.慢查询日志(show query log):mysqldumpslow分析工具 4.通用日志(general log) 5.重做日志(redo log) 6.中继日志(relay log) 7.D…
MySQL基础 目录 MySQL基础 关系型数据库介绍 数据结构模型 RDBMS专业名词 关系型数据库的常见组件 SQL语句 MySQL安装与配置 MySQL安装 MariaDB安装 关系型数据库介绍 数据结构模型 数据结构模型主要有: 层次模型 网状结构 关系模型 关系模型: 二维关系:row,column 数据库管理系统:DBMS 关系:Relational,RDBMS RDBMS专业名词 常见的关系型数据库管理系统: MySQL:MySQL,MariaDB,Percona-Server M…
(3.16)mysql基础深入——mysql字符集 关键字:mysql字符集,mysql编码 目录 1.概念 2.常用的字符编码 3.查看mysql字符集 [3.1]查看服务器支持的字符集 [3.2]查看字符集的校对规则/排序规则 [3.3]查看当前数据库的字符集 [3.4]查看数据库的校对规则/排序规则 4.mysql字符集设置 [4.1]设置服务器级别字符集 [4.1.1]编译时设置 [4.1.2]my.cnf配置文件设置 [4.1.3]环境变量设置 [4.1.4]连接级别设置 [4.2]设…
(3.11)mysql基础深入——mysql文件分类与管理 关键词:mysql配置文件,mysql参数文件,mysql中的my.cnf 目录:mysql数据库文件分类: [1]参数文件:my.cnf [2]日志文件: (1)错误日志文件(2)二进制日志文件(3)慢查询日志文件(4)通用日志文件 [3]socket文件:套字节文件,可以理解成 ip + port [4]pid文件:mysql实例的进程ID文件(根据这个文件判断mysql的启停与状态) [5]mysql表结构文件:表结构定义文件 […
(3.4)mysql基础深入——mysql.server启动脚本源码阅读与分析 my.server主要分为3大部分 [1]变量初始化部分 [2]函数声明部分 [3]具体执行部分 #!/bin/sh #[第1部分,变量初始化部分begin] #[1.1]指定Mysql安装程序及数据目录的路径,默认是/usr/local/mysql,默认是空的 basedir=/mysql/app/mysql datadir=/mysql/data//data # Default value, in seconds…
(3.2)mysql基础深入——mysql源码阅读工具安装与应用 关键字:mysql源码阅读工具 工具列举:一般多用[1][2][3]吧 [1]source insight [2]写字板/记事本 UE [3]gdb(linux系统自带工具,调试代码(线程)) [4]eclipse [5]vs2012 1.source insight(基本使用教程) .安装source insightt4.; .使用下载好的sourceinsight4.exe替换安装在program file(x86)目录下的s…
(3.1)mysql基础深入——mysql二进制与源码目录结构介绍 关键字:二进制目录结构,源码目录结构(编译安装目录结构) 1.二进制安装程序目录结构 [1] BIN -- mysql的可执行文件(停止.启动.可执行文件) [2] COPYING -- 版权说明文件 [3] docs   -- mysql文档格式信息 [4] include   -- 包含的头文件(其他程序连接mysql的接口,其他的引用) [5] lib -- 库文件 [6] man -- mysql手册(man1用户操作帮…
01. mysql基础架构 SQL语句是如何执行的 学习一下mysql的基础架构,从一条sql语句是如何执行的来学习. 一般我们写一条查询语句类似下面这样: select user,password from mysql.user; 这样就可以返回一个结果,但却不知这条语句的内部执行流程. 如下是mysql的逻辑架构图: Mysql可以分为Server层和存储引擎层二部分. Server层有连接器/缓存/分析器/优化器/执行器,涵盖了mysql的很多核心功能. 存储引擎层负责数据的存储和读取,支…
MySQL:众多关系型数据库中的一种仓库 --数据库箱子 --表数据库:进入mysql 命令行: mysql -uroot -p查看所有数据库: show databases;创建数据库: create database niu charset utf8;删除数据库: drop database niu;选择数据库: use databases;查看所有表: show tables;查看创建数据库的语句:show create database databasename;查看创建表的语句:sho…
@ 目录 视图是什么 视图的优点 1) 定制用户数据,聚焦特定的数据 2) 简化数据操作 3) 提高数据的安全性 4) 共享所需数据 5) 更改数据格式 6) 重用 SQL 语句 MySQL创建视图 基本语法 查询视图 MySQL查看视图 查看视图的字段信息 查看视图的详细信息 MySQL修改视图 基本语法 修改视图内容 MySQL删除视图 基本语法 索引是什么 为什么要使用索引 顺序访问 索引访问 索引的优缺点 优点 缺点 MySQL索引类型详解 存储方式区分 B-树索引 哈希索引 逻辑区分…
@ 目录 MySQL数据库备份与恢复 数据库为什么需要备份 MySQL备份类型 MySQL热备份及恢复 逻辑备份 mysqldump SELECT INTO-OUTFILE mydumper 裸文件备份 MySQL冷备份及恢复 MySQL冷备份所需物理文件 MyISAM存储引擎 Innodb 存储引擎 MySQL数据库迁移 相同版本的迁移 不用版本的迁移 不同数据库的迁移 MySQL mysqldump备份数据库 备份一个数据库 备份多个数据库 备份所有数据库 MySQL恢复数据库 MySQL导…
本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于/etc/my.cnf. 2. 详解配置文件 basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件. pid-file = filename 为mysq…
基础:(2.1)学习笔记之mysql基本操作(启动与关闭) 0.mysql启动的 3种方式 (1)mysql.server (2)mysqld_safe (3)mysqld 1.启动分析 [1.1]概要分析: 默认的mysql服务启动程序是mysql.server,mysql.server程序这主要是会用到2个程序和一个函数. 分别是my_print_defaults.mysqld_safe和parse_server_arguments 启动顺序源码:(1)目录:\mysql-5.7.24\my…
SQL,结构化查询语言,既是对数据库进行操作的语言,也是数据库脚本文件的扩展名. 要求:新建一个名为 library 的数据库,包含 book.reader 两张表,根据自己的理解安排表的内容并插入数据.保存截图. 实现: create database library; use library; create table book( book_id int primary key, book_name ) not null ); create table reader( reader_id i…
0x01 mysql中的权限分布 mysql中的用户信息都存储在系统数据库mysql的user表中 查询语句:select host,user,password from mysql.user; 创建用户 用户账号管理: create user drop user rename user set password权限管理: grant revoke create user CREATE USER username@hostname [ IDENTIFIED BY [PASSWORD] 'pass…
一.概念 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果是双主或者多主,就会增加mysql入口,增加高可用.不过多主需要考虑自增长ID问题,这个需要特别设置配置文件,比如双主,可以使用奇偶,总之,主之间设置自增长ID相互不冲突就能完美解决自增长ID冲突问题. 单点故障解决方案: 主主架构: 互为主备,互相监控对方二进制日志文件进行同步 note:当两个sql语句发生冲突的时候主主…
一个简单的mysql与C的交互,使用了一些mysql的C API! 老鸟掠过,新手能够看看! /****************************************** 本文件学习mysql的database使用 学习mysql的C接口 包括初始化db,检查数据库是否存在,不存在就创建. 检查表是否存在,不存在则创建 *****************************************/ #include <stdio.h> #include <stdlib.h…
Linux环境下的安装 1检查是否已经安装 sudo service mysql start #若未安装,则提示: mysql: unrecognized service 2安装MySql #安装 MySQL 服务端.核心程序 sudo apt-get install mysql-server #安装 MySQL 客户端 sudo apt-get install mysql-client 安装过程中,提示确实yes即可,并且会提示设置root密码,设置即可. 3检查安装 sudo netstat…
前情回顾:昨天学习了MySQL中索引的设计与使用,还了解了一些常见的SQL注入攻击的手段以及防范方法,一般来说,在面试的时候如果不是要求比较高,基本就够用了. 今天碰见一个拿了TP-LINK的offer的同学从图书馆回来,一边走一边聊了几句.我笑着说:拿了offer还去图书馆干嘛?他说没打算去.我问干嘛不去,他回答说准备专心考公务员.其实我前段时间,大概是半年前吧,也有考虑过考公务员.那时候主要是觉得自己技术渣,而且又不想去学,所以就经朋友介绍想考回深圳去工作.后来因为自己兴趣培养得还不错,而且…
这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条语句执行流程之前,我们看看mysql的基础架构. 图来自极客时间的mysql实践,该图是描述的是MySQL的逻辑架构. server层包括连接器.查询缓存.分析器.优化器.执行器涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数所有跨存储引擎的功能都在这一层实现,比如存储过程.触发器.视等.…
                                                                                                   (复习mysql )  (一)SQL分类: SQL语句根据其功能,主要分为四类:DDL.DML.DQL.DCL. DDL: Data DefinitionLanguage (DDL)数据定义语言,用来定义数据库对象(数据库,表, 字段) DML:Data Manipulation Language 数…
MySQL必知必会 简介 <MySQL必知必会>的学习笔记和总结. 书籍链接 了解SQL 数据库基础 什么是数据库 数据库(database):保存有组织的数据的容器(通常是一个文 件或一组文件). 确切地说,数据库软件应称为DBMS(数据库管理系统).数据库是通过DBMS创建和操纵的容器.数据库可以是保存在硬设备上的文件,但也可以不是. 表 表(table):某种特定类型数据的结构化清单. 表名的唯一性取决于多个因素,如数据库名和表名等的结合.这表示,虽然在相同数据库中不能两次使用相同的表名…
本文地址 分享提纲: 1.为查询缓存优化你的查询 2. EXPLAIN 你的 SELECT 查询 3. 当只要一行数据时使用 LIMIT 1 4. 为搜索字段建索引 5. 在Join表的时候使用相当类型的例,并将其索引 6. 千万不要 ORDER BY RAND() 7. 避免 SELECT * 8. 永远为每张表设置一个ID 9. 使用 ENUM 而不是 VARCHAR 10. 从 PROCEDURE ANALYSE() 取得建议 11. 尽可能的使用 NOT NULL 12. Prepare…
0x01 MySQL锁: 执行操作时施加锁的模式 读锁:用户在读的时候施加的锁,为防止别人修改,但是用户可以读,还被称为共享锁 不会对其他用户进行阻塞 理解: ----->(这里的不阻塞,是可以让用户读(即-不对用户读进行阻塞),但是不能让用户写入数据,是会阻塞写入的数据,除非解锁) 显示锁(表级锁):lock tables:施加锁 LOCK TABLES tbl_name lock_type [, tbl_name lock_type] ...锁的类型 READ | WRITE unlock…
前言 简单整理一下事务. 正文 事务有四大特性: 1.原子性(atomicity) 一个事务必须被视为一个不可分割的最小单元. 2.一致性(consistency) 数据库总是从一个一致性的状态转换到另一个一致性的状态. 很多人对事务的一致性和原子性可能会有偏差.要理解这个东西呢,首先要抛开mysql,或者我们常见的数据库sql server,mongodb. 单纯来理解数据库的事务. 假如有两个事务,事务a和事务b. 假设A和B的两个账号,a账户是500块,b账户是300块. 里面有一个限制就…