![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql/oracle
文章平均质量分 77
攻城狮Luke(刘健彬)
在深圳某IOT企业任职技术专家,擅长的技术领域包括Spring Cloud、Spring Cloud Alibaba、微服务架构、Docker、Kubernetes、分布式事务、高并发多线程、消息队列、数据库、数据结构与算法、网络数据安全、JVM、DevOps等,拥有丰富的互联网一线开发与架构经验。开源分布式事务框架milo作者,CSDN知名博主。
展开
-
MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL+API自己做一个引擎。下面介绍几种数据库引擎: ISAM:ISAM是一个定义明确且转载 2015-07-29 10:25:01 · 450 阅读 · 0 评论 -
MySQL双主高可用架构之MMM实战
MMM简介:MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器),是关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能基于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份转载 2015-11-02 17:59:07 · 2804 阅读 · 0 评论 -
MySQL数据同步(一主多从)
MySQL数据同步一主多从和一主一从原理其实是一样。环境:Master centos5.2 mysql5.1.35 主服务器的ip:10.207.10.154Slave1 centos5.2 mysql5.6.10 从服务器的ip:10.207.10.158Slave2 centos5.2 mysql5.6.10 从服务器的ip:10.207.10.205一master转载 2015-11-02 17:42:44 · 994 阅读 · 0 评论 -
MySql语法大全(速成版)
一、SQL速成 结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。 以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册。 1.创建表 表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下: create table...转载 2016-01-04 09:44:17 · 773 阅读 · 0 评论 -
MySQL中的datetime与timestamp比较
本文将通过实例比较MySQL中的datetime与timestamp,虽然这两种方法其实表示同一种类型,但还是有一定的区别。AD:相同显示TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS。不同范围datetime 以'YYYY-M转载 2015-12-08 11:41:55 · 505 阅读 · 0 评论 -
Mysql Join语法解析与性能分析
一.Join语法概述join 用于多表中字段之间的联系,语法如下:... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditionatable1:左表;table2:右表。JOIN 按照功能大致分为如下三类:INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。LEFT JOIN转载 2017-03-02 11:04:17 · 313 阅读 · 0 评论 -
MySQL如何利用索引优化ORDER BY排序语句
MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作。通过索引优化来实现MySQL的ORDER BY语句优化:1、ORDER BY的索引优化。如果一个SQL语句形如:SELECT [column1],[column2],…. FRO转载 2017-03-13 14:01:46 · 381 阅读 · 0 评论 -
MySQL慢查询日志总结
慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一转载 2017-03-14 10:03:00 · 351 阅读 · 0 评论 -
MySQL事务隔离级别详解
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt转载 2017-03-15 17:13:47 · 343 阅读 · 0 评论 -
mysql字符串截取函数SUBSTR
update vehicle_voltage_data set voltageList = SUBSTR(voltageJson,POSITION('[' IN voltageJson),POSITION(']' IN voltageJson) - POSITION('[' IN voltageJson) + 1)原创 2017-05-09 16:12:21 · 2672 阅读 · 0 评论 -
useOldAliasMetadataBehavior
错误如下(类似的可以参考):[java] view plain copy2016-02-24 10:25:18,001 org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:233) "#" SQL Error: 0, SQLStat转载 2017-12-07 16:04:56 · 4925 阅读 · 0 评论 -
mysql5.7从入门到精通读书笔记-13章 Mysql用户管理
登录 mysql -u root -p -P 3306 -h 192.168.1.123创建用户 GRANT INSERT,DELETE,UPDATE,SELECT ON *.* TO 'testUser'@'localhost' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; SHOW GRANTS for 'testUser'@'...原创 2018-05-07 16:02:28 · 220 阅读 · 0 评论 -
MYSQL数据库中的枚举类型和集合类型
枚举类型,enum一般来说就是单选,在定义枚举的时候列出所有的可能性;代码如下[php] view plain copycreate table type_enum( gender enum('male','remale','serect'), ); insert into type_enum values ('remale'); 在处理时,类似字符串型进行操作! 意义在于:1, ...转载 2018-05-14 20:26:30 · 2902 阅读 · 0 评论 -
Oracle Sequence创建与使用
最近几天使用Oracle的sequence序列号,发现对如何创建、修改、使用存在很多迷茫点,在上网寻找答案后,根据各路大神的总结,汇总下对自己的学习成果;在Oracle中sequence就是序号,每次提取完都会自动增加,步幅固定,它与表没有直接关系! 创建sequence语句:CREATE SEQUENCE seq_name-- seq_name为计数器的名字,自定;INCREM...转载 2018-07-18 15:30:35 · 4047 阅读 · 0 评论 -
4种事务的隔离级别,InnoDB如何巧妙实现?
事务ACID特性,其中I代表隔离性(Isolation)。 什么是事务的隔离性?隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。 一个事务怎么会干扰其他事务呢?咱们举例子来说明,假设有InnoDB表:t(id PK, name); 表中有三条记录:1, shenjian2, zhan...转载 2018-09-10 13:45:15 · 213 阅读 · 0 评论 -
InnoDB使用的七种锁
默认事务隔离级别为可重复读(Repeated Read, RR)InnoDB的锁,与索引类型,事务的隔离级别相关自增锁自增锁是一种特殊的表级别锁(table-level lock),专门针对事务插入AUTO_INCREMENT类型的列。最简单的情况,如果一个事务正在往表中插入记录,所有其他事务的插入必须等待,以便第一个事务插入的行,是连续的主键值。共享/排他锁共...转载 2018-09-27 16:55:45 · 332 阅读 · 0 评论 -
最简单理解Mysql共享、排他锁和乐观、悲观锁
共享锁select * from xx where id = 10 lock in share mode排他锁select * from xx where id = 10 for update乐观锁select num,version from xx where id = 10update xx set num=num-1 where id =10 and xx.version =...原创 2018-10-18 10:46:05 · 387 阅读 · 0 评论 -
MySQL性能优化的最佳21条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1.为查转载 2015-11-18 21:30:58 · 344 阅读 · 0 评论 -
MySQL Proxy 安装与读写分离体验
一直想等到BETA版出来再试验的,可还是经不住诱惑阿,下午终于有时间测试一下了。(本文参考地址:http://blog.chinaunix.net/u/8111/showart.php?id=451420)一、必备软件:1、LUA 可以去LUA的官方下载:www.lua.org2、MySQL Proxy 这里有好多二进制版本。 http://mysql.c转载 2015-10-30 14:25:33 · 449 阅读 · 0 评论 -
Ubuntu 安装mysql和简单操作
ubuntu上安装mysql非常简单只需要几条命令就可以完成。 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install libmysqlclient-dev 安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成转载 2015-09-29 21:13:56 · 462 阅读 · 0 评论 -
【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数。本文从参数含义,性能,安全角度阐述两个参数为不同的值时对db 性能,数据的影响.一 参数意义innodb_flush_log_at_trx_commit如果innodb_flush_log_at_trx_commi转载 2015-11-04 16:53:38 · 595 阅读 · 0 评论 -
mysql mysql的innodb_flush_log_at_trx_commit参数深有体会
今天本来是想测试一下在使用触发器的情况下在一个表中插入1百万条数据和用代码实现有多大差别。但没想到插入语句一直执行不完,而观察安装MySQL的服务器CPU使用才5%左右。这么慢的速度实在等不下去了,于是把innodb_flush_log_at_trx_commit参数调整为2.哈,好家伙,CPU占用马上跳到了70%左右,果然变快了。而且我的数据一会儿就插入完成了。于是深刻地明白了,以前在i转载 2015-11-04 16:48:26 · 866 阅读 · 0 评论 -
MYSQL主从不同步延迟原理分析及解决方案
1. MySQL数据库主从同步延迟原理。要说延时原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作,主库对所有DDL和DML产生binlog,binlog是顺序写,所以效率很高,slave的Slave_IO_Running线程到主库取日志,效率很比较高,下一步,问题来了,slave的Slave_SQL_Running线程将主库的DDL和DML操作在slave转载 2015-11-04 16:56:18 · 479 阅读 · 0 评论 -
DATE_FORMAT和TO_DATE
DATE_FORMAT函数用法一、在oracle中,当想把字符串为‘2011-09-20 08:30:45’的格式转化为日期格式,我们可以使用oracle提供的to_date函数。sql语句为:SELECT to_date('2011-09-20 08:30:45', 'yyyy-MM-dd hh24:mi:ss') FROM dual;转载 2015-09-17 15:48:12 · 2827 阅读 · 0 评论 -
MySQL丢数据及主从数据不一致的场景
随着对MySQL的学习,发现了MySQL的很多问题,最重要的就是丢数据的问题。对于丢数据问题,我们应该了解丢数据的场景,这样在以后的学习中多考虑如何去避免及解决这些问题。1.MySQL数据库层丢数据场景 本节我们主要介绍一下在存储引擎层上是如何会丢数据的。1.1.InnoDB丢数据 InnoDB支持事务,同Oracle类似,事务提交需要写redo、undo转载 2015-11-06 09:30:11 · 3733 阅读 · 0 评论 -
关于数据库备份的定义和重要性
所谓备份,就是通过特定的办法,讲数据库的必要文件复制到转储设备的过程.其中,转储设备是指用于放置数据库拷贝的磁带或磁盘 选择备份的依据是:丢失数据的代价与确保数据不丢失的代价之比.还有的时候,硬件的备份有时根本就满足不了现实需要,比如误删了一个表,又想恢复该表的时候,数据库备份就变得重要了. Oracle提供了强大的备份与恢复策略,包括常规数据库备份(逻辑备份,冷备份与转载 2015-11-06 11:24:45 · 7323 阅读 · 0 评论 -
MySql数据库主从同步配置(参考)
一,Mysql版本:MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar 主从库要求版本一致,不一致的话谁也不知道会出现什么问题。数据库安装方式:http://www.youxijishu.com/blogs/26.html二,主库IP:192.168.0.201从库IP:192.168.0.202三,修改主库转载 2015-10-29 13:32:27 · 749 阅读 · 0 评论 -
Linux安装MySQL的两种方法
1. 运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.32. 安装方法:安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过编译过的二进制文件进行安装。二进制文件安装的方法又分为两种:一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件转载 2015-09-22 08:19:53 · 529 阅读 · 0 评论 -
Mysql一主多从和读写分离配置简记
近期开发的系统中使用MySql作为数据库,由于数据涉及到Money,所以不得不慎重。同时,用户对最大访问量也提出了要求。为了避免Mysql成为性能瓶颈并具备很好的容错能力,特此实现主从热备和读写分离。在此简做纪要,以备日后所用!一、配置主从条件:两台PC,IP分别为192.168.168.253,192.168.168.251。两台PC上的Mysql版本为5.0。253上的Mysq转载 2015-10-29 10:47:51 · 489 阅读 · 0 评论 -
MySQL主从复制与读写分离的实现
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分转载 2015-10-29 10:43:07 · 496 阅读 · 0 评论 -
MySQL主从复制技术与读写分离技术amoeba应用
MySQL主从复制技术与读写分离技术amoeba应用 前言:目前在搭建一个人才网站,预计流量会很大,需要用到分布式数据库技术,MySQL的主从复制+读写分离技术。读写分离技术有官方的MySQL-proxy,阿里巴巴的Amoeba。Amoeba能在阿里巴巴这么大流量的平台投入使用而且运行稳定,Amoeba的性能是很优越的,相信眼前事实,所以选择了Amoeba。 一、名转载 2015-10-29 14:59:56 · 11776 阅读 · 0 评论 -
MySql数据库主从同步配置(亲测)
一,Mysql版本:MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar 主从库要求版本一致,不一致的话谁也不知道会出现什么问题。数据库安装方式:http://www.youxijishu.com/blogs/26.html二,主库IP:192.168.0.201从库IP:192.168.0.202三,修改主库转载 2015-10-29 22:46:29 · 746 阅读 · 0 评论 -
采用Atlas+Keepalived实现MySQL读写分离、读负载均衡
一、基础介绍==========================================================================================1、背景描述目前我们的高可用DB的代理层采用的是360开源的Atlas,从上线以来,已稳定运行2个多月。无论是从性能上,还是稳定性上,相比其他开源组件(amoeba、cobar、Max转载 2015-10-30 09:08:51 · 816 阅读 · 0 评论 -
Ubuntu10下搭建MySQL Proxy读写分离
一、MySQL-Proxy基础MySQL Proxy是一个处于你的Client端和MySQL server端之间的简单程序,它可以监测、分析或改变它们的通信。它使用灵活,没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。(Figure1:MySQL Proxy)MySQL-Proxy, announced in June, is a bin转载 2015-10-30 11:08:03 · 1048 阅读 · 0 评论 -
mysql配置mysql-proxy读写分离
mysql配置读写分离在这里你再也不用担心高手省略了大段代码了,因为我也是新手。下面开整先安装luaLua 是一个小巧的脚本语言。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。先安装可能的转载 2015-10-30 12:00:27 · 449 阅读 · 0 评论 -
mysql5.7.21 安装与使用
一、MySQL的安装:1、到mysql的官网:https://dev.mysql.com/downloads/installer/2、将页面拖到最下看到如下界面,点击下载370M的msi文件3、不登陆直接点击最下面的no thanks,开始进行下载4、下载之后如下5、双击下载的文件开始进行安装6、勾选同意进入下一步7、这里我选择自定义(Custo...转载 2018-11-29 09:37:49 · 295 阅读 · 0 评论