mysql
misaka去年夏天
让学习成为一种习惯
展开
-
MySQL中的锁(表锁、行锁)
锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 概述 相对其他数据库而言,MySQL的锁机制转载 2016-06-24 12:51:45 · 629 阅读 · 0 评论 -
MySQL的Innodb中的事务隔离级别和锁的关系
前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。本文转载转载 2016-11-01 13:07:00 · 1945 阅读 · 0 评论 -
Linux下访问MySQL的数据库权限不够的问题
如题,刚才在centOS上的mysql命令行中,修改了mysql库的user表,flush privileges命令之后,发现外网也访问不了,内网也没法访问了,现记录一下解决的办法(需要root权限登录Linux):1、用安全模式访问mysql#service mysql stop停止mysql服务#mysqld_safe --skip-grant-tables &后台原创 2016-08-28 15:21:20 · 8525 阅读 · 0 评论 -
MySQL常见的存储引擎讲解
什么是存储引擎?关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差;而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,数据的处理上也会存在着差异,那么。对于MySQL来说,它提供了很多种类型的存转载 2015-09-11 11:52:11 · 698 阅读 · 0 评论 -
MySQL中用户权限、库权限、表权限的控制
在开发中,除了可以在脚本代码中控制开发者对MySQL数据库数据表的权限,还可以在mysql层面进行控制。对mysql的权限的控制可以大致分为三个层面:①连接上允不允许(是否能登录到mysql服务器)②数据库层面上:允许用户操作哪些数据库③数据标层面上:允许用户操作哪些表,并可以定义对表的操作权限:比如insert,create,update等。如果还觉得不够精细,MySQL还可以精确到原创 2015-09-17 16:41:56 · 23583 阅读 · 1 评论 -
thinkphp项目中使用order作为表名碰到查询错误
在thinkphp项目中,如果有订单表,那么你最好不要把订单表的名字设置为order(即使有表前缀),否则当你建立视图模型查询的时候,很可能碰到莫名其妙的查询错误。下面演示一段由于表名order被当做MySQL的关键字order而导致的错误:控制器:class HomeController extends CommonController { publ原创 2016-03-11 23:48:49 · 1642 阅读 · 0 评论 -
MySQL创建复合主键
项目中遇到一个需求,某张中间表,只有两个字段origin_id和relation_id,两个字段用来连接另外两张更大的表。该中间表没有主键,数据插入的时候,有时候由于网速比较慢,表单提交多点了几次,就插入了多条同样的数据。 解决的办法是,把这两个字段做成一个主键:ALTER TABLE t_test add PRIMARY KEY(origin_id,relation_gid);原创 2016-06-10 23:41:20 · 4116 阅读 · 0 评论