Welcome 微信登录

首页 / 数据库 / MySQL

深入了解mysql的4种常用、重要的数据类型

深入了解mysql的4种常用、重要的数据类型

为了实现这一目标,它需要我们在数据库系统的常用数据类型有充分的认识。下面我们来看一下mysql的重要数据类型1、数值类型可以划分为数值类型:整型,浮点十进制类型。所谓的“十进制”是指decimal和numeric,他们是同一类型的。严格地说,它不是一个数字类型,因为他们实际上是作为字符串存储,每一个数字值(包括小数点)占一个字节的存储空间,所以这种类型的消耗大量的存储空间,但它的优点是它的价值不会失去做浮点数计算精度,它更适合一些计算精度要求高,如价格计算...
MYSQL中常用的强制性操作(例如强制索引)

MYSQL中常用的强制性操作(例如强制索引)

其他强制操作,优先操作如下:mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。强制索引 FORCE INDEX复制代码 代码如下:SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段上的索引。忽略索引 IGNO...
MYSQL事务回滚的2个问题分析

MYSQL事务回滚的2个问题分析

因此,正确的原子操作是真正被执行过的。是物理执行。在当前事务中确实能看到插入的记录。最后只不过删除了。但是AUTO_INCREMENT不会应删除而改变值。1、为什么auto_increament没有回滚?因为innodb的auto_increament的计数器记录的当前值是保存在存内存中的,并不是存在于磁盘上,当mysql server处于运行的时候,这个计数值只会随着insert改增长,不会随着delete而减少。而当mysql server启动时,当我...
Mysql中Table ‘XXX’ is marked as crashed and last (automatic?)问题解决方法

Mysql中Table ‘XXX’ is marked as crashed and last (automatic?)问题解决方法

网站的 MYSQL 数据库出现错误如下提示:复制代码 代码如下:Table ‘.dede_archives" is marked as crashed and last (automatic?)该问题即为相关表受到损坏,一般情况下,可以用 phpmyadmin 对该表进行修复。如果是独立的服务器,也可使用命令行方式进行修复。修复前将mysql服务停止:复制代码 代码如下:/etc/init.d/mysqld stop然后执行如下命令(参考)修复该表:复制代...
MySQL行级锁、表级锁、页级锁详细介绍

MySQL行级锁、表级锁、页级锁详细介绍

页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许行级,,仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。页级,表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。 MySQL 5.1支持对MyISAM和ME...
MySQL主从复制的原理及配置方法(比较详细)

MySQL主从复制的原理及配置方法(比较详细)

一、复制的原理MySQL 复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以便从服务器可以对其数据拷贝执行相同的更新。将主服务器的数据拷贝到从服务器的一个途径是使用LOAD DATA FROM MASTER语句。请注意LOAD DATA FROM MASTER目前只在所有表使用MyISAM存储引擎的主服务器上工作。并且,该语句将获得全局读锁定。MySQL 使用3个...
MySQL存储引擎简介及MyISAM和InnoDB的区别

MySQL存储引擎简介及MyISAM和InnoDB的区别

MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改 STORAGE_ENGINE 配置变量,能够方便地更改MySQL服务器的默认存储引擎。 InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。 BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。 Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可...
Mysql权限管理grant命令使笔记

Mysql权限管理grant命令使笔记

MySQL 赋予用户权限命令的简单格式可概括为:复制代码 代码如下:grant 权限 on 数据库对象 to 用户 [identified by "密码"]最常用的,弄主从同步的时候,给从库的slave用户设置拥有所有权限,权限all仅允许其从192.168.0.2登录,并限定使用密码 funsion (密码要用 单/双引号 括起来)复制代码 代码如下:grant all on *.* to slave@192.168.0.2 identified by ...
mysql的3种分表方案

mysql的3种分表方案

一、先说一下为什么要分表:当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1、接收到sql;2、把sql放到排队队列中;3、执行sql;4、返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这二个是一回事,等待的同时,肯定有sql在执行。所以我们要缩短sql...
mysql数据校验过程中的字符集问题处理

mysql数据校验过程中的字符集问题处理

场景:主库DB:utf8字符集备库DB:gbk字符集需求:校验主备数据是否一致,并且修复校验过程:设置主库连接为utf8,设置备库连接为gbk,分别进行查询,将返回的的结果集按记录逐字段比较。显示结果:原本相同的汉字字符,数据校验认为不一致。原因分析:对于主库而已,由于建立连接的字符集为UTF8,则返回的汉字字符编码为UTF8格式;对于备库而言则是GBK格式,而程序中通过字符串比较函数strcasecmp进行比较,显然不同的字符集编码,相同的字符有不同的二...
修改MySQL数据库中表和表中字段的编码方式的方法

修改MySQL数据库中表和表中字段的编码方式的方法

今天向MySQL数据库中的一张表添加含有中文的数据,可是老是出异常,检查程序并没有发现错误,无奈呀,后来重新检查这张表发现表的编码方式为latin1并且原想可以插入中文的字段的编码方式也是latin1,然后再次仔细观察控制台输出的异常,进一步确定是表和表中字段编码不当造成的,那就修改表和其中对应的字段呗,网上找了一会儿,你别说还真有,执行完sql脚本后果然可以存入中文了,尽管如此还是认为有必要总结一下,古人云:好记性不如烂笔头嘛,呵呵呵。 修改表的编码方式...
MySQL中SELECT+UPDATE处理并发更新问题解决方案分享

MySQL中SELECT+UPDATE处理并发更新问题解决方案分享

问题背景: 假设MySQL数据库有一张会员表vip_member(InnoDB表),结构如下:当一个会员想续买会员(只能续买1个月、3个月或6个月)时,必须满足以下业务要求: •如果end_at早于当前时间,则设置start_at为当前时间,end_at为当前时间加上续买的月数•如果end_at等于或晚于当前时间,则设置end_at=end_at+续买的月数•续买后active_status必须为1(即被激活)问题分析:...
逐步分析MySQL从库com_insert无变化的原因

逐步分析MySQL从库com_insert无变化的原因

大家都知道com_insert等com_xxx参数可以用来监控数据库实例的访问量,也就是我们常说的QPS。并且基于MySQL的复制原理,所有主库执行的操作都会在从库重放一遍保证数据一致,那么主库的com_insert和从库的com_insert理论上应该是相等的。如下面显示,第二列代表主库,第三列代表从库:复制代码 代码如下:com_select 22 1138com_update 36 37com_insert 133 135com_delete 0 0...
教您修复mysql数据库的方法

教您修复mysql数据库的方法

会mysql的朋友都知道mysql在长时间使用过后数据库会出现一些问题,这就需要快速修复损坏mysql数据库以方便我们的工作和学习。下面小编为大家下面介绍两种快速检修 MySQL 数据库的方法。 本人常用这样的代码,直接放到mysql数据库目录里面复制代码 代码如下:cmd /k myisamchk -r jb51_tablenamejb51_tablename是jb51_tablename.MYD的名称。运行以下就可以了。有的时候因为掉电或者其他原因导致...
<< 101 102 103 104 105 106 107 108 109 110 >>