
【mysql】
文章平均质量分 80
极客on之路
热爱技术,做有态度的技术人!
微信平台架构设计开发。支付技术,安全加密,金融证券
展开
-
mysql datetime与timestamp区别
datetime:1、保存格式为YYYYMMDDHHMMSS(年月日时分秒)的整数,所以,它与时区无关,存入的是什么值就是什么值,不会根据当前时区进行转换。2、从mysql 5.6.4中,可以存储小数片段,最多到小数点后6位,显示时格式为 yyyy-MM-dd HH:mm:ss[.222222] mysql5.5中,没有小数片段,精确到秒。所以,我再从5.6版本迁移到5.5时,因生成的sql中datetime(6)有小数片段,无法导入。3、存储范围:从1000-01-01 00:...转载 2021-01-07 16:01:53 · 1224 阅读 · 0 评论 -
MySQL类型float double decimal的区别
float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值,float和double都是浮点型,而decimal是定点型;MySQL 浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的 可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。FLOAT和DOUBLE在不指 定精度时,默认会按照实际的精度来显示,而DECIM转载 2020-12-23 10:23:34 · 354 阅读 · 0 评论 -
浅谈MySQL中utf8和utf8mb4的区别
一、区别1、MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。2、好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。二、内容描述1、那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。转载 2020-11-20 10:08:30 · 828 阅读 · 0 评论 -
Spring Boot @Transactional 事务不生效排查
问题描述:在开发Spring Boot项目时,方法使用了@Transactional注解,但是当方法抛出异常时,数据没有回滚。解决方法:经排查,发现是数据库引擎搞的鬼。之前在建mysql数据库表的时候,忘记修改表使用的引擎,引擎使用的是MyISAM,而MyISAM是不支持事务的,只需将引擎改为InnoDB即可。排查步骤:当@Transactional事务不生效的时候,可以遵循以下排查...转载 2020-03-31 14:12:38 · 2206 阅读 · 0 评论 -
MySQL创建定时任务
一、前言 自MySQL5.1.6起,增加了一个非常有特色的功能-事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总、数据备份等等),来取代原先只能由操作系统的计划任务来执行的工作。更值得一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux的cron或Windows下的任务计划)只能精确到每分钟...转载 2020-03-09 21:48:06 · 438 阅读 · 0 评论 -
MySQL千万级数据分区存储及查询优化
MySQL千万级数据分区存储及查询优化作为传统的关系型数据库,MySQL因其体积小、速度快、总体拥有成本低受到中小企业的热捧,但是对于大数据量(百万级以上)的操作显得有些力不从心,这里我结合之前开发的一个web系统来介绍一下MySQL数据库在千万级数据量的情况下如何优化提升查询速度。一、基本业务需求该系统包括硬件系统和软件系统,由中科院计算所开发的无线传感器网络负责实时数据的监测和回传...转载 2018-11-22 10:58:13 · 488 阅读 · 0 评论 -
mysql 集合运算
##取并集SELECT NAME FROM test_1 a UNIONSELECT NAME FROM test_2 b;##取差集SELECT name FROM (SELECT DISTINCT a.name AS name FROM test_1 a UNION ALLSELECT DISTINCT B.name AS name FROM test_2 b)T...原创 2018-11-06 15:46:37 · 3513 阅读 · 0 评论 -
如何查看MySQL的当前存储引擎?
如何查看MySQL的当前存储引擎?一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看: 看你的mysql现在已提供什么存储引擎:mysql> show engines; 看你的mysql当前默认的存储引擎:mysql> show variables like '%storage_engine%'; 你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当...转载 2018-06-13 09:54:59 · 4057 阅读 · 0 评论 -
30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
http://www.ihref.com/read-16422.html转载 2018-07-18 14:39:16 · 162 阅读 · 0 评论 -
Mysql主从复制的配置(双机互为主从)
目的: 让两台mysql服务器可以互为主从提供同步服务. 优点:1. mysql的主从复制的主要优点是同步"备份", 在从机上的数据库就相当于一个(基本实时)备份库.2. 在主从复制基础上, 通过mysqlproxy可以做到读写分离, 由从机分担一些查询压力.3. 做一个双向的主从复制, 两台机器互相为主机从机, 这样, 在任何一个机器的库中写入, 都会"实转载 2017-12-29 15:26:32 · 543 阅读 · 0 评论 -
mysql中的text 类型的使用
mysql中的text对应oracle中的clob又分为TINYTEXT, TEXT, MEDIUMTEXT,LONGTEXT, 都是表示数据长度类型的一种。语法:[ UNSIGNED ] mediumtextTINYTEXT: 256 bytesTEXT: 65,535 bytes => ~64kbMEDIUMTEXT: 16,777,215 bytes => ~16MB...转载 2018-11-29 11:40:44 · 20916 阅读 · 0 评论 -
mysql建数据库的字符集与排序规则说明
1.字符集说明:一般选择utf8.下面介绍一下utf8与utfmb4的区别。utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的做什么项目了,到http://blog.youkuaiyun.com/leelyliu/article/details/52879685看unicode编码区从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是...转载 2019-01-04 15:26:24 · 665 阅读 · 0 评论 -
Mysql千万级数据快速分页查询方案
@(数据库)[mysql]Mysql千万级数据快速分页查询方案实际应用场景说明1.limit方法的局限性2.通过主键id过滤的方法3.between and实际应用场景说明服务器配置 : 阿里云 2核4G mysql服务器 生产场景 : 将mysql数据库中的文章数据进行批量化处理更新 问题详情: 当分页数过大时查询速度很慢 解决方法: 使用了between and 的方式来...转载 2019-01-09 09:35:36 · 1231 阅读 · 0 评论 -
高mysql千万级大数据SQL查询优化几条经验
假设用户表有一百万用户量。也就是1000000.num是主键1:对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by 涉及的列上创建索引。因为:索引对查询的速度有着至关重要的影响。2:尽量避免在where字句中对字段进行null值的判断。否则将会导致引擎放弃使用索引而进行全表扫描。例如:select id from user where num is nul...转载 2019-01-09 09:45:10 · 308 阅读 · 0 评论 -
mysql varchar 最大长度是多少
一. varchar存储规则:4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 二. varchar和char 的区别:char是一种固定长度的类型,varcha...转载 2019-02-15 13:12:10 · 450 阅读 · 0 评论 -
mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry
mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'解决方法:在my.cnf的[mysqld]片段中加入设置innodb_autoinc_lock_mode=0同一时候注意调大jdbc的活跃链接数,如设置jdbc.maxActive=300,由于设置innodb_autoinc_...转载 2019-05-28 10:30:41 · 1963 阅读 · 0 评论 -
MySQL添加新用户、创建数据库、为新用户分配权限
https://blog.youkuaiyun.com/xufengzhu/article/details/81112783转载 2019-09-19 11:32:22 · 178 阅读 · 0 评论 -
Mysql 分布式集群 主从同步 读写分离 amoeba 中间件配置
首先说明一下amoeba 跟 MySQL proxy在读写分离的使用上面的区别: 在MySQL proxy 6.0版本 上面如果想要读写分离并且 读集群、写集群 机器比较多情况下,用mysql proxy 需要相当大的工作量,目前mysql proxy没有现成的 lua脚本。mysql proxy根本没有配置文件, lua脚本就是它的全部,当然lua是相当方便的。那么同样这种东西需转载 2017-12-02 22:38:05 · 801 阅读 · 0 评论 -
MySQL 5.7.18的安装及主从复制(主从同步)
MySQL 5.7.18的安装与主从复制IP计算机名角色192.168.1.222001master192.168.1.233002slaveCentOS 6.9安装mysql5.7.18 #这里转载 2017-12-02 22:46:33 · 422 阅读 · 0 评论 -
mysql基于amoeba的读写分离
Amoeba的实用指南http://docs.hexnova.com/amoeba/如何实现mysql读写分离 : 通常来说有两种方式: 1,应用程序层实现转载 2017-12-02 22:43:15 · 262 阅读 · 0 评论 -
Linux启动/停止/重启Mysql数据库的方法
1、查看mysql版本方法一:status;方法二:select version();2、Mysql启动、停止、重启常用命令a、启动方式1、使用 service 启动:[root@localhost /]# service mysqld start (5.0版本是mysqld)[root@szxdb etc]# service mysql start (5.5.7版转载 2016-04-17 11:38:01 · 387 阅读 · 0 评论 -
hibernate连MySql 数据库中遇到个Every derived table must have its own alias
程序本来是连接oracle的,后来转到自己电脑里时只能连MySql,修改驱动后,启程序出现如题报错。排查了下,发现是hibernate配置文件中的数据库方言没有改过来,还是oracle的方言。改为org.hibernate.dialect.MySQLDialect后,恢复正常。转载 2016-04-13 10:24:01 · 1482 阅读 · 1 评论 -
Hibernate 不同数据库的连接及SQL方言
org.hibernate.dialect.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql://localhost/dbname?characterEncoding=gb2312 root root org.hibernate.dialect.SQLServerDi转载 2016-04-13 10:23:03 · 358 阅读 · 0 评论 -
centos 下 mysql 安装配置
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk、tomcat、eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk、tomcat、ec转载 2016-04-11 13:05:42 · 371 阅读 · 0 评论 -
oracle 数据库 迁移到mysql 简单高效工具使用
最近要往服务器上搭建数据库,涉及到数据库商业化和版权问题,打算用mysql .不过需要先把本地的oracle 数据表转换成mysql 。上网找了一些资料以后找到一个工具 navicat premium 开始执行 。。。。ok 结束了原创 2016-04-11 11:15:35 · 2150 阅读 · 0 评论 -
Spring 数据库数据源DBCP配置说明
连接数据库都必须要有数据连接,一般spring中采用DBCP配置源,通过在bean.xml中配置相应的数据配置,就可以连接数据库了,可以看一下以下相关配置:[html] view plain copy print? bean id="jdbc" class="org.springframework.beans.factory.config.转载 2016-04-29 14:15:46 · 467 阅读 · 0 评论 -
全国省市级联关系表sql语句
DROP TABLE IF EXISTS `province`;CREATE TABLE `province` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHAR转载 2016-05-09 10:22:38 · 3282 阅读 · 0 评论 -
mysql什么时候需要flush privileges
flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。转载 2016-11-14 21:41:36 · 18887 阅读 · 1 评论 -
MYSQL删除匿名用户的方法(提高安全性)
今天看教程的时候,发现了MYSQL匿名用户可以导致网站数据等安全问题,这里分享下mysql中删除匿名用户的步骤,方便需要的朋友安装完MySQL以后会自动创建一个root用户和一个匿名用户,对于root大家都非常注意,而这个匿名用户很多人都会忽略,大概是因为匿名用户默认设定为只能在本地使用的缘故吧。 但如果MySQL要作为数据库提供给Web服务器使用的话,忽略这个匿名转载 2016-11-14 21:56:08 · 885 阅读 · 0 评论 -
java连接MySql数据库 zeroDateTimeBehavior
链接:http://2820354.blog.51cto.com/2810354/793574JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常,就是所见的:java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 7 to TIMESTAMP转载 2016-11-19 15:53:21 · 734 阅读 · 0 评论 -
linux 下mysql编码的修改
1、登录mysql,查看mysql默认的编码格式show variables like “character%”;如果现实-bash: show: command not found 说明没有登录MySQL数据库,需要进行登录结果如下图所示:2、修改my.cnf 文件目录为/etc/my.cnf如果系统中没有my.cnf文件、则需要创建此文件,具体步骤请看3转载 2016-12-13 11:24:48 · 349 阅读 · 0 评论 -
Win10-64bit安装MySQL5.7,解决Access denied for user 'root'@'localhost' 问题
Win10-64bit 安装 MySQL5.7,解决 Access denied for user ‘root’@’localhost’ 问题问题:本文主要介绍在 windows10-64bit 操作系统中安装最新版的 MySQL5.7 基本流程解决进入MySQL遇到的 Access denied for user ‘root’@’localhost’ 问题转载 2017-12-01 17:38:24 · 6620 阅读 · 0 评论 -
mysql 安装步骤
1.rpm -qa|grep -i mysql:mysql-libs-5.1.66-2.el6_3.i6862.rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps3.groupadd mysql4.useradd -r -g mysql mysql5. tar -zxvf /app/mysql-5.7.20-linux-glibc2.12-i6...原创 2017-12-01 18:10:34 · 303 阅读 · 0 评论 -
Linux 连接mysql报错Access denied for user 'root'@'localhost'
忘记mysql密码,使用不对的服务器密码,在连接服务器的时候,常常会提示 Access denied 错误,如下图所示:[plain] view plain copy[root@localhost bin]# ./mysql -uroot -p12345 ERROR 1045 (28000): Access denied for use转载 2016-04-17 12:03:43 · 2024 阅读 · 1 评论 -
linux下mysql开启远程访问权限 防火墙开放3306端口
开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法,改表法和授权法。相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法1、登陆mysqlmysql -u root -p 2、修改mysql库的user表转载 2017-12-01 14:36:29 · 466 阅读 · 0 评论 -
使用Spring实现读写分离( MySQL实现主从复制)
1. 背景我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,其中一个是主库,负责写入数据,我们称之为:写库;其它都是从库,负责读取数据,我们称之为:读库; 那么,对我们的要求是:1、读库和写库的数据一致;2、写数据必须写到写库;3、读数据必须到读库;2. 方转载 2017-12-02 22:17:11 · 277 阅读 · 0 评论 -
mysql相似于oracle的to_char() to_date()方法
mysql日期和字符相互转换方法date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date();%Y:代表4位的年份%y:代表2为的年份 %m转载 2016-04-25 18:28:23 · 410 阅读 · 0 评论