MySql
ywb201314
兵法有言,知己知彼,百战不殆
展开
-
PostgreSQL安装教程
数据库初始化后,默认会创建一个名为 postgres 的linux登录用户,这里进行密码修改。# 找到listen_address那里,解开注释并修改引号内localhost的值为*同样的还是先到bin目录下,备份文件也拷贝这里。7. 修改数据库登录密码。转载 2023-02-14 17:22:23 · 178 阅读 · 0 评论 -
超详细最新版MySQL 8.0安装及配置教程(亲测有效)
3.进入社区下载页面,有不同的下载产品,为了之后功能的使用,一般选择下载MySQL Installer for Windows,安装包安装过程简单。10.设置root账户密码,记住root密码,这是我们接下来对mysql操作需要用到的,进入下一步。4.跳转到安装软件界面,运行即可安装对应的mysql软件和相应的插件,点击执行即可。2.根据需要进行选择安装对应的安装模式,对于学习一般选择默认安装模式即可。2.进入下载页面,可以选择企业版本和社区版本,一般选择社区免费下载。1.找到我的电脑,右键选择属性。转载 2022-11-11 14:02:34 · 1028 阅读 · 0 评论 -
MYSQL8隐藏索引
问题场景 我们知道,索引太多会导致UPDATE/DELETE/INSERT的时候,引擎需要更新索引信息,产生额外的开销; 从而影响数据库性能; 所以需要清理无效索引; 但是表是数年前建的,索引基本都不是自己添加的,无法准确判定是否可以删除,万一删错了,导致大的慢查询,引起事故就得不偿失了,表比较小的话,还可以重新添加,表的数据量如果非常大,新增索引的耗时就会非常大,到时候可能就只剩下跑路的份儿了; 在老的库中,经常会发现许多表索引空间比表空间占用还大的情况;功能介绍...转载 2020-09-30 15:19:55 · 753 阅读 · 0 评论 -
MySQL 8 新特性之降序索引
MySQL 8.0终于支持降序索引了。其实,从语法上,MySQL 4就支持了,但正如官方文档所言,"they are parsed but ignored",实际创建的还是升序索引。无图无真相,同一个建表语句,看看MySQL 5.7和8.0的区别。create table slowtech.t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc));MySQL 5.7mysql> show create table slowtech...转载 2020-09-30 14:23:44 · 367 阅读 · 0 评论 -
MySQL插入时间差八小时问题的解决方法
这篇文章主要给大家介绍了关于MySQL插入时间差八小时问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧解决MySQL插入时间差八小时问题一般 jdbc url中 需要添加几个参数 , 大多数博客给的教程都是useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC这几个参数,配置结果为:jdbc...转载 2020-09-21 15:46:53 · 1598 阅读 · 1 评论 -
数据库对象命名规范一(原则、命名、 表、视图、存储过程、函数、触发器命名规范)
命名规范是指数据库对象如数据库(SCHEMA)、表(TABLE)、索引(INDEX)、约束(CONSTRAINTS)等的命名约定。1. 原则 命名使用具有意义的英文词汇,词汇中间以下划线分隔。 命名只能使用英文字母、数字、下划线。 避免用MySQL的保留字如:call、group等。(保留字详见附录) 所有数据库对象使用小写字母。 2. 命名规范2.1 数据库命名规范 数据库名不能超过30个字符。 数据库命名必须为项目英文名称或有意义的简写。转载 2020-09-16 14:45:51 · 3076 阅读 · 0 评论 -
数据库对象设计规范二(数据库、表、字段、索引、约束设计及存储引擎的选择)
1. 存储引擎的选择MySQL支持数个存储引擎作为对不同表的类型的处理器,MySQL中的插件式存储引擎架构是非常有特色的亮点。如无特殊要求,默认使用innodb存储引擎,该引擎为5.6版本中的默认存储引擎。 MySQL引擎 说明 InnoDB 索引和数据都可以缓存到内存中; 支持事务; 支持行级锁,可实现更高的并发度; 支持故障恢复; 支持外键约束; 支持4种不同的事务隔离级别;转载 2020-09-16 14:45:00 · 249 阅读 · 0 评论 -
mysql中截取字符串left()、right()、substring()、substring_inedx()
最近在写python接口服务,需求是从数据库查询数据,做处理后返回,但是数据有一列值是存的时间格式,返回给前端需要的是字符串,所以使用的是mysql的转时间方法:date_format('%Y-%m-%d')但是在python中是特殊符号,%s,%d,%f等,所以执行中报错,于是想到使用字符串截取的方式,有同学有更好的处理方式欢迎指导我~~mysql处理这个需求有很多字符串函数可以使用:1)left(str, length),即:left(被截取字符串, 截取长度):select转载 2020-08-03 11:12:40 · 450 阅读 · 0 评论 -
MySQL存储过程双重循环
在工作中遇到了数据迁移,需要些存储过程对数据进行迁移,用到了双重循环BEGIN -- 定义变量DECLARE orderNo VARCHAR(500);DECLARE total INT;DECLARE payAmount decimal(11,2); DECLARE itemId INT;DECLARE itemNo VARCHAR(500);DECLARE x INT...转载 2019-11-05 11:37:10 · 885 阅读 · 0 评论 -
mysql 存储过程中双重循环嵌套的应用
话不多直接上代码,注释很详细,下面代码确认运行无误,自己去感悟吧朋友CREATE PROCEDURE SYC_FILE_DOC_INFO()BEGIN DECLARE A_PK_FILEDOC char(24); DECLARE A_PK_CORP char(6); DECLARE A_VCODE varchar(30...转载 2019-11-05 11:36:27 · 376 阅读 · 0 评论 -
mysql浮点数与定点数(转)
为了能够引起大家的重视,在介绍浮点数与定点数以前先让大家看一个例子:mysql> CREATE TABLE test (c1 float(10,2),c2 decimal(10,2));Query OK, 0 rows affected (0.29 sec)mysql> insert into test values(131072.32,131072.32);Query O转载 2015-12-07 10:16:21 · 512 阅读 · 0 评论 -
mysql下如何执行sql脚本
首要步骤(一般可省略):开启mysql服务(默认是开机时就自动运行了):控制面板-->管理工具-->服务,在里面找到名称为mysql的项,双击就可看它的服务状态是启动还是停止,把它设为启动 连接mysql:在命令行下输入 mysql -h localhost -u root -p回车,然后输入密码即可;或直接运行mysql自带的连接工具,然后输入密码即可.1.编写sql脚本转载 2017-12-21 14:47:16 · 442 阅读 · 0 评论 -
关于 mysql 8 后连接不上数据库
将本地 MySQL 数据库升级版本后(升级到 8.0.11) ,发现原来的代码连接不上数据库了。检查了很多遍配置都没有发现问题。想到 MySQL 8 后发生了很多改变,所以才想可能是因为 mysql8.0 java 驱动的问题,搜索发现 8.0.11 版本的 mysql 的驱动连接方式不一样,之前我们这边用的是 com.mysql.jdbc.Driver ,而 8.0.11 要用 com.mysq...转载 2018-08-29 17:01:34 · 812 阅读 · 0 评论 -
mysql Specified key was too long; max key length is 767 bytes
mysql建表错误 cursor.execute(statement, parameters) File "/home/wifi/supersetpy35/lib/python3.5/site-packages/MySQLdb/cursors.py", line 250, in execute self.errorhandler(self, exc, value) Fil...转载 2018-08-29 17:04:20 · 372 阅读 · 0 评论 -
解决:Navicat连接不上MySQL 8.0
转载自 https://www.cnblogs.com/shiysin/p/shiysin.html Navicat连接不上,总是报错1251;原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错。 更改加密方式1.先通过命令行进入mysql的root账户:PS C:\Windows\system32> mysql -uroot -p ...转载 2018-08-29 17:05:47 · 1573 阅读 · 0 评论 -
mysql查看变量设置
MySQL的变量分为以下两种:1)系统变量:配置MySQL服务器的运行环境,可以用show variables查看2)状态变量:监控MySQL服务器的运行状态,可以用show status查看 系统变量系统变量按其作用域的不同可以分为以下两种:1)分为全局(GLOBAL)级:对整个MySQL服务器有效2)会话(SESSION或LOCAL)级:只影响当前会话有些变量同...转载 2018-09-04 11:13:30 · 472 阅读 · 0 评论 -
OPTION SQL_SELECT_LIMIT=DEFAULT java连接mysql错误
今天公司要搬家了,为了方便在搬家的时候引起的网络变化而导致无法使用的公司测试服务器上的数据库,所以准备将服务器上的数据库备份到本机。 项目启动时创建本地的数据库连接的时候频繁的报出SQL错误: You have an error in your SQL syntax; check the manual that corresponds to yo...转载 2018-09-07 15:57:44 · 1394 阅读 · 0 评论 -
MYSQL 部分事务
MYSQL 中通过 savepoint 的方式来实现只提交事务的一部分。step 1 : savepoint savepoint_name;、做标记step 2 :rollbak to savepoint savepoint_name;回滚到标记点setp 3 :release savepoint savepoint_name;解除标记----------------------...转载 2019-03-13 10:18:58 · 207 阅读 · 0 评论 -
Mysql存储过程中的事务回滚
create procedure test(in a int) BEGIN DECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;-- 异常时设置为1 START TRANSACTION; IN...转载 2019-03-13 10:31:00 · 1197 阅读 · 0 评论 -
Mysql过程中局部事务回滚
label_pro: BEGIN DECLARE t_error INTEGER DEFAULT 0; declare CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;-- 异常时设置为1 INSERT into temp VALUES('test', 'test'); -- 测试...原创 2019-03-13 10:53:44 · 275 阅读 · 0 评论 -
一个用户SQL慢查询分析,原因及优化
问题描述一个用户反映线上一个SQL语句执行时间慢得无法接受。SQL语句看上去很简单(本文描述中修改了表名和字段名):SELECT count(*) FROM a JOIN b ON a.`S` = b.`S` WHERE a.`L` > '2014-03-30 00:55:00' AND a.`L` < '2014-03-30 01:00:00' ; 且查询需要的字段都建了索引转载 2016-12-21 11:39:31 · 606 阅读 · 1 评论 -
MYSQL加锁的测验
存储引擎 支持的锁定级别 myisam 表级别 memory 表级别 inndb 行级别 bdb: 页级别 lock锁定类型 锁定方式 目的 读锁 自己与其他线程只能读取该表 写锁 只有当前线程能够对表进行写入操作(转载 2016-09-18 16:17:55 · 483 阅读 · 0 评论 -
疑惑?实战演示疑惑 mysql insert到底加什么锁
innodb的事务隔离级别是可重复读级别且innodb_locks_unsafe_for_binlog禁用,也就是说允许next-key lock 实验来自网上. ( 如果你没有演示出来,请check order_id 是否是非unique key.) 如果你看不懂,请看后续文章. next-key lock (glap lock)完全解析.CREATE TABLE `Lock转载 2016-09-18 16:16:06 · 1070 阅读 · 0 评论 -
DBCP 数据连接池的配置和使用
DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接转载 2016-03-13 20:43:50 · 572 阅读 · 0 评论 -
mysql-connector-java.jar包和源代码下载地址
mysql驱动包和源码下载地址:http://download.softagency.net/MySQL/Downloads/Connector-J/下载 mysql-connector-java-5.1.38.zip即可。原创 2016-03-12 22:34:50 · 15143 阅读 · 2 评论 -
mysql常用数学函数
1.ceil () /ceiling() 向上取整 例: ceil(1.2) = 22.floor () 向下取整 例: floor(1.2) = 13.round() 四舍五入 例:round(1.4)=1 round(1.5) =2SELECT FORMAT(12562.6655,2); 结果:12,562.67原创 2015-11-18 11:02:52 · 413 阅读 · 0 评论 -
mysql binlog使用
1.binlog日志打开方法(查看二进制日志是否打开:mysql> show variables like 'log_%';+---------------------------------+--------------------------+| Variable_name | Value |+---------------------------------+转载 2015-12-11 15:59:38 · 485 阅读 · 0 评论 -
MySQL中的binlog相关命令和恢复技巧
操作命令:复制代码代码如下:show binlog events in 'mysql-bin.000016' limit 10;reset master 删除所有的二进制日志flush logs 产生一个新的binlog日志文件show master logs; 或者 show binary logs; 查看二进制文件列表和文件大小转载 2015-12-11 16:05:56 · 326 阅读 · 0 评论 -
mysql截取函数
感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用。 函数: 1、从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2、从右开始截取字符串 ri转载 2015-11-24 11:57:36 · 457 阅读 · 0 评论 -
MySQL的binlog数据如何查看
摘要 binlog介绍 •登录到mysql查看binlog •用mysqlbinlog工具查看 •本地查看 •远程查看目录[-]登录到mysql查看binlog用mysqlbinlog工具查看本地查看远程查看binlog介绍binlog,即二进制日志,它记录了数据库上的所有改变.改变数据库的SQL语句执行结束时转载 2015-12-11 16:12:21 · 426 阅读 · 0 评论 -
MySql 8小时重连问题
转帖:http://hi.baidu.com/o%C6%DF%D7%D0o/blog/item/a2cf9043d2b37d1a9213c621.html/cmtid/2dca3bdc59996aafcc1166c4 MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。在这种情况下,如转载 2016-05-16 11:14:44 · 539 阅读 · 0 评论 -
数据库连接池C3P0学习
数据库连接池C3P0框架是个非常优异的开源jar,高性能的管理着数据源,这里只讨论程序本身负责数据源,不讨论容器管理。一、实现方式:C3P0有三种方式实现:1.自己动手写代码,实现数据源例如:在类路径下配置一个属性文件,config.properties,内容如下:driverClass=xxxjdbcUrl=xxxuser=xxx转载 2016-05-16 11:38:01 · 295 阅读 · 0 评论 -
Innodb中的事务隔离级别和锁的关系
前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。#一转载 2016-09-18 11:41:08 · 353 阅读 · 0 评论 -
MySQL锁解决并发问题详解
原文地址:http://leihuang.org/2015/09/10/mysql-lock-concurrency/文章分为以下几个要点问题描述以及解决过程MySQL锁机制数据库加锁分析下面讨论的都是基于MySQL的InnoDB。0. 问题描述以及解决过程因为涉及到公司利益问题,所以下面很多代码和数据库信息,进行了缩减和修改,望见谅。业务场景是优惠券系统规则规定了一个转载 2016-09-18 11:36:08 · 674 阅读 · 0 评论 -
mysql锁表测试
我将表信息。和执行过程列下、方便大伙测试。SQL code?1234567891011121314DROP TABLE IF EXISTS bpm_pro_status ;CREATE TABLE bpm_p转载 2016-09-18 11:26:47 · 588 阅读 · 0 评论 -
MySql常用函数数学函数、加密函数等
MySql常用函数数学函数、加密函数等 MySql函数众多,这里只是列举了一部分常用的函数。 一、数学函数ABS(x) // 返回x的绝对值BIN(x) //返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x)转载 2016-08-04 17:16:15 · 333 阅读 · 0 评论 -
mysqlbinlog工具基于日志恢复详细解释
如果每天都会生成大量的二进制日志,这些日志长时间不清理的话,将会对磁盘空间带来很大的浪费,所以定期清理日志是DBA维护mysql的一个重要工作1)RESET MASTER在上面查看日志存放的文件夹中,二进制日志命名的格式是以mysql-bin.*,*代表日志的序号,序号是递增的,其中还有mysql-bin.index是日志的索引文件,记录了日志的最大序号我们执行RESET MAST转载 2016-06-22 16:36:53 · 732 阅读 · 0 评论 -
MySQL索引原理及慢查询优化
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问转载 2016-07-07 13:44:47 · 338 阅读 · 0 评论 -
MySQL复制表结构和内容到另一张表中的SQL语句
这篇文章主要介绍了MySQL复制表结构和内容到另一张表中的SQL语句,需要的朋友可以参考下1.复制表结构及数据到新表复制代码代码如下:CREATE TABLE 新表SELECT * FROM 旧表 2.只复制表结构到新表复制代码代码如下:CREATE TABLE 新表SELECT * FROM 旧表转载 2016-07-27 17:26:17 · 479 阅读 · 0 评论 -
MySQL的多列索引
什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。所有的MySQL列类型能被索引。在相关的列上的使用索引是转载 2016-06-06 15:48:14 · 436 阅读 · 0 评论