MySQL事务及其实现
事务定义
事务是访问并更新数据库中各个数据项的一个程序执行单元。在事务操作中,要不都做修改,要么都不做。
事务特性
事务具有ACID四个特性,分别是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
原子性
原子...[2018/11/25]
mysql5.6.35源码安装记录
mysql数据库源码安装:
源码地址:wget http: mirrors.163.com/mysql/Download MySQL-5.6/mysql-5.6.xx.tar.gz
#安装前准备,将编译工具、依赖环境通过yum安装
yum install ...[2018/11/23]
mysql初次启动相关配置
一、启动mysql服务
使用mysql之前,首先要启动mysql服务器端。使用命令mysqld。在命令行终端先进入mysql安装的目录直到bin目录,如图:
运行这个命令,可能会报错,提示找不到data目录:
那就手动到bin目录的上一层目录创建一个data目录:
...[2018/11/20]
MySQL的sql优化
MySQL怎么优化SQL呢?
一、考虑表有没有加索引。
二、加上索引考虑索引是否失效
失效的原因:
1.数据类型不匹配
2.索引列加上函数
3.索引列参与逻辑运算
4.组合索引配置最左前缀 如abc 只要a出现就走索引 否则失效...[2018/11/20]
Mysql 使用中碰到的问题记录
问题:在cmd中输入net stop mysql反馈“服务名无效”
win+R打开运行窗口,输入
services.msc
查看其中mysql的服务名,比如我的是叫做MySQL80
让我们继续回到最开始的部分,在cmd窗口输入
...[2018/11/20]
MySQL日志系统:redo log与binlogMySQL日志系统:redo log与binlog
日志系统主要有redo log(重做日志)和binlog(归档日志)。redo log是InnoDB存储引擎层的日志,binlog是MySQL Server层记录的日志, 两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。
图来自极客时间的mysql实践,该图是描...[2018/11/20]
windows server服务器上mysql远程连接失败的坑
windows server服务器上mysql远程连接失败的坑
背景:趁这阿里云活动,和朋友合伙买了个服务器,最坑的是没想到他买的是windows Server的,反正便宜,将就着用吧,自己装好了wamp环境,在服务器上可以在本地访问数据库(废话么),但是在本地机器一直访问不了
首先:创建的账户...[2018/11/20]
mysql基础架构之查询语句执行流程mysql基础架构之查询语句执行流程
这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的。
比如,在我们从student表中查询一个id=2的信息
select * from student where id=2;
在解释这条语句执行流程之前,我们看看mysql的基础架构。
图来自极客时间的mysql实践,该图...[2018/11/20]
解决MySQL报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents .....
1.前言
今天在用SpringBoot2.0+MyBatis+MySQL搭建项目开发环境的时候启动项目发现报了一个很奇怪的错,报错内容如下:
java.sql.SQLException: The server time zone value ''?D1ú±ê×?ê±??'' is ...[2018/11/20]
Mysql根据经纬度筛选数据
创建位置表,并且插入测试数据
/*
Navicat MySQL Data Transfer
Source Server &nb...[2018/11/20]
golang gorm 操作mysql及gorm基本用法
golang 官方的那个操作mysql的有点麻烦所以就使用了gorm,下面就gorm的使用做下简单介绍
下载gorm:
go get -u github.com/jinzhu/gorm
在项目中引入gorm:
import (
"github.com/jinzhu/go...[2018/11/20]
Windows 安装并配置 MySQL 5.6
Windows 下安装 MySQL 有两种方式,一种是下载安装包,根据提示一路 next 安装,不需要什么配置,比较简单;另一种是下载压缩包,通过命令和配置来安装,也不难,个人感觉更简单。本篇就采用第二种方法安装。
1,下载MySQL压缩包
1.1,打开https: www.mysql.com...[2018/11/19]
mysql基本知识点梳理和查询优化
目录
一、索引相关
二、EXPLIAN中有用的信息
三、字段类型和编码
四、SQL语句总结
五、踩坑
六、千万大表在线修改
七、一些数据库性能的思考
本文主要是总结了工作中一些常用的操作,以及不合理的操作,在对慢查询进行优化时收集的一些有用的资料和信息,本文适合有mysql基础的开发人员。
...[2018/11/19]
安装mysqlclient的时候出现Microsoft Visual C++ 14.0 is required报错安装mysqlclient的时候出现Microsoft Visual C++ 14.0 is required报错
在安装mysqlclient的时候出现了以下报错:
解决办法:
1.到提示网址:https: visualstudio.microsoft.com/download/里面下载对应VC++版本安装后继续安装mysqlclient。但是本人没有找到对应文件,故不再过多赘述,这里说下第二种方法。...[2018/11/19]
mybatis基础系列(四)——关联查询、延迟加载、一级缓存与二级缓存
关本文是Mybatis基础系列的第四篇文章,点击下面链接可以查看前面的文章: mybatis基础系列(三)——动态sql mybatis基础系列(二)——基础语法、别名、输入映射、输出映射 mybatis基础系列(一)——mybatis入门关联查询 在进行表设计时,往往需要在具体的业务基础上分析表...[2018/11/17]
linux 5.7.20和5.6.38版本 数据库忘记root密码怎么找回?
1. 5.6.38版本的数据库密码丢失找回方法:
第一步.关数据库
第二步:mysqld_safe --skip-grant-tables --skip-networking &
第三步:mysql安全模式下登录数据库
update mysql.user s...[2018/11/17]
修正Percona Monitoring Plugins for Zabbix的一处脚本Bug
今天小试了一把Percona Monitoring Plugins for Zabbix模板,自己辛辛苦苦写的那一大堆Python脚本,貌似用这个模板全都覆盖到了。 但是,我也发现最新的版本percona-monitoring-plugins_1.1.8也还是存在一个问题,那就是用于Mysql R...[2018/11/17]
SQL SELECT 语句SQL SELECT 语句
SQL SELECT 语句
SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
SQL SELECT 语法
SELECT 列名称 FROM 表名称 释意:选取 【列】 来自 【表】
or-- SELECT * FROM 表名称 释意:...[2018/11/17]
MySQL5.7: datetimeMySQL5.7: datetime
-- 当前日期时间
select now();
select now(3);-- 保留3位毫秒数
SELECT NOW(6); -- 保留6位毫秒数
-- 当前日期和时间 至秒
select current_timestamp;
select current_t...[2018/11/17]
SQL WHERE 子句
WHERE 子句
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
语法
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 释意:选取 【列】 来自 【表】 条件是 【列】=【值】
下面的运算符可在 WHERE 子句...[2018/11/17]
windows 下phpstudy 升级mysql版本5.7
今天在导入sql文件的时候遇到了sql执行错误。最后找到原因是因为mysql版本过低,导致出错
原因:在执行sql的时候出现了两次CURRENT_TIMESTAMP ,最后得知在5.7版本之前都是不支持同时出现两个CURRENT_TIMESTAMP
所以导致执行sql出错。下面是将mysql升...[2018/11/17]
navicat连接mysql出现2059错误
最近在学习django的时候需要用到数据库,于是便下载了navicat准备和mysql配套使用,但是在连接的时候确出现了如下问题:
网上查询过后,发现这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_pa word,而在mysql8以后的加密规则为cachin...[2018/11/17]
MYSQL数据库知识点总结
一、SQL语句篇
*特别说明:FILED代表数据表字段,CONDITIONS代表where之后的条件,TABLENAME代表数据表名 []中括号内的内容代表 可有可无。
创建数据库
create database DATABASE;
...[2018/11/17]
MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL
例如:
ALTER TABLE stuinfo ADD CONSTRAINT fk_stuinfo FOREIGN KEY(gradeid) REFERENCES grade(id) ON DELETE CASCADE;
. cascade方式 在父表...[2018/11/17]
MySQL索引的使用及注意事项
索引是存储引擎用于快速找到记录的一种数据结构。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高几个数量级,"最优"的索引有时比一个"好的"索引性能要好两个数量级。
索引可以包含一个(单列索引)或多个列(组合索引)的值。
想要使用组合索引首先要了解一个原则:最左前缀原则。如...[2018/11/17]
xtrabackup部署以及使用
简介
备份mysql数据库一直是一个比较恶心的工作,主要就是备份的数据库比较大实在是慢。最近开始使用xtrabackup来备份数据库,速度上快了很多,尤其还原速度要快的多。下面我将从安装开始简要介绍一下如何使用xtrabackup来备份数据库。
定义:xtrabackup工具是percona...[2018/11/16]
MySQL慢查询日志释疑总结
之前写了一篇“MySQL慢查询日志总结“,总结了一些MySQL慢查询日志常用的相关知识,这里总结一下在工作当中遇到关于MySQL慢查询日志的相关细节问题,有些是释疑或自己有疑惑,自己测试验证、解惑方面的知识。此篇只是总结个人的一些经验,不足之处,敬请指正! &nb...[2018/11/16]
MySQL 8.0版本连接报错:Could not create connection to database server.
准备搭建一个Spring Boot 组合mybatis的项目,数据库采用的是MySQL 8.0.11按照以往的配置,使用插件mybatis-generator-maven-plugin生成代码时,一直报错Could not create connection to database s...[2018/11/16]
Ubuntu 安装MySQL
安装方法:
sudo apt-get install mysql-server
sudo apt-get install mysql-client 查看是否运行:
sudo netstat -tap | grep mysql 若正常运行:
tcp 0 0 loca...[2018/11/16]
PHP加密解密
目录
对称加密
AES加密算法
非对称加密
RSA加密算法
为了保证网络传输数据的安全性,涉及敏感数据的传输,最好对数据预先加密,然后再在网络上进行传输,同时,还要保证数据在另一端是可解密的,并且还必须要通过钥匙(公钥或私钥)才能解密,没有钥匙(公钥或私钥)的人即使是拿到了加密过的数据也...[2018/11/16]
mybatis基础系列(二)——基础语法、别名、输入映射、输出映射
增删改查
mapper根节点及其子节点
mybatis框架需要读取映射文件创建会话工厂,映射文件是以<mapper>作为根节点,在根节点中支持9个元素,分别为insert、update、delete、select(增删改查);cache、cache-ref、resultMap、para...[2018/11/16]
偶尔用得上的MySQL操作偶尔用得上的MySQL操作
数据库编码
查看数据库编码
use xxx
show variables like ''character_set_database'';
切换数据库编码
alter database xxx CHARACTER SET gb2312;
修改自增ID
创建表格时设置自增ID从N开始:
C...[2018/11/16]
88秒插入1000万条数据到MySQL数据库表的操作方法
我用到的数据库为,mysql数据库5.7版本的
首先自己准备好数据库表
其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下:
com.mysql.jdbc.PacketTooBigException: Packe...[2018/11/16]
MySQL结构
MySQL属于关系型数据库管理系统(RDBMS),使用RDBMS时,最常见的系统结构就是客户端/服务器类型(C/S类型)这种结构。
服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机)。在计算机上持续执行处理,并等待接收下一条请求...[2018/11/15]
MySQL 常用命令
--数据库操作前的准备 -- 创建数据库 -- create database python_test_1 charset=utf8;
-- 使用数据库 -- use python_test_1;
-- students表 -- create table stu...[2018/11/15]
CentOS 7 安装并配置 MySQL 5.6
Linux使用MySQL Yum存储库上安装MySQL 5.6,适用于Oracle Linux,Red Hat Enterprise Linux和CentOS系统。
一、全新安装MySQL
1、添加MySQL Yum存储库
将MySQL Yum存储库添加到系统的存储库列表中。这是一次性操作,...[2018/11/15]
windows中彻底卸载mysql
1)停止MySQL服务
打开控制面板→管理工具→服务(找到MySQL)
2)卸掉mysql server
打开控制面板→程序与功能→找到mysql server然后卸载
3)将mysql目录下的安装文件夹删除,例如我的:C:\Program Files (x86)\MySQL
4)删除m...[2018/11/14]
mycat
1 mycat介绍 中间件:代理; 面向企业的开源的大的数据库集群,性能极高;淘宝正在使用; 1.1 数据库中间件历史: amoeba...[2018/11/14]
漫画数据库_基础和设计数据库
数据库
1,简单说,数据库就是可以共享数据,防止数据的不一致和重复。其实简简的两句话包含了好多好多东西。一点点学习吧。
2,最简单的概念也记录一下吧:一条数据叫做记录,各个项目称为字段,确定数据的列叫主键,使用表格处理数据,基于数学运算(并,差,交,笛卡尔积,投影,选择,连接,除)来处理数据。...[2018/11/13]
MySQL8.0初体验MySQL8.0初体验
MySQL8.0的官方社区开源版出来有段时间了,而percona的8.0版本还没有正式对外发布(已发布测试版),一直以来也没安装体验下这个号称质的飞跃的版本,今天正好有些时间就下了安装体验体验。
一、MySQL8.0下载
下载地址:https: dev.mysql.com/get/Downlo...[2018/11/13]
MySQL数据库实验:任务二 表数据的插入、修改及删除
目录
任务二 表数据的插入、修改及删除
一、利用界面工具插入数据
二、数据更新
(一)利用MySQL命令行窗口更新数据
(二)利用Navicat for MySQL客户端工具更新数据
三、数据库的备份与还原
1.备份转储数据库
2.还原数据库
任务二 表数据的插入、修改及删除
@
...[2018/11/13]
《高性能MySQL(第3版)》PDF免费下载
《高性能MySQL(第3版)》PDF
本书是MySQL 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了最新MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16...[2018/11/12]
mysql中的prepare介绍和应用
简单的用set或者declare语句定义变量,然后直接作为sql的表名是不行的,mysql会把变量名当作表名。在其他的sql数据库中也是如此,m ql的解决方法是将整条sql语句作为变量,其中穿插变量作为表名,然后用sp_executesql调用该语句。
这在mysql5.0之前是不行的,5.0...[2018/11/11]
记录阿里云ECS(Centos7.4)安装mysql 8.0.X服务记录阿里云ECS(Centos7.4)安装mysql 8.0.X服务
#*.rpm介绍
大多数二进制rpm包都包含在名称中倒数第二个字段中编译rpm的体系结构。.rpm软件包有那么几种
*.src.rpm 源程序包,要先通过编译才能安装
*.noarch.rpm 该包适用于任何架构
*.i*86.rpm 该包适用于intel cpu的电脑上运行
...[2018/11/11]
Mysql 一对多关系建立(在navicat中)
一个孩子只有一个妈妈,而一个妈妈可以有多个孩子,这是典型的一对多的关系,这里采用navicat图形化界面建立二者的关系。
第一步:创建mother表,如下图:
第二步:创建children表,在children表中创建一个外键ch_mom_id,如下图:
...[2018/11/11]
sql数据表的设计思路
好的表结构分的比较细致,个人理解大概主要分为主表、明细、历史记录表、中间表,辅助表结构应该分为:类型表、状态表、统计表、统计明细表等。为了一个功能加那么多表实在是多余,如果写一个非常复杂的业务逻辑还是很有必要的,因为要做到物帐联动。这可能不是一个明智的选择,还有一种方案是尽可能的压缩表结构,少分一...[2018/11/11]
Can't create/write to file '/tmp/MLjnvU95' (Errcode: 13 - Permission denied)
今天一个同事反馈往一个MySQL数据库导入数据时,报“ERROR 1 (HY000): Can''t create/write to file ''/tmp/MLjnvU95'' (Errcode: 13 - Permi ion denied)”这样的错误,如下所示: ...[2018/11/10]
Can't create/write to file '/tmp/MLjnvU95' (Errcode: 13 - Permission denied)
今天一个同事反馈往一个MySQL数据库导入数据时,报“ERROR 1 (HY000): Can''t create/write to file ''/tmp/MLjnvU95'' (Errcode: 13 - Permi ion denied)”这样的错误,如下所示: ...[2018/11/10]