MYSQL 事件 engines=INNODB

  1. 如果出现“#skip-innodb”则将“#”去掉,重启MySQL;
  2. 如果第一条无法解决,加上配置:default-storage-engine=InnoDB 再重启MySQL。
  3. 进入MYsql数据据mysql>show engines;

转自百度经验:http://jingyan.baidu.com/article/3a2f7c2e68ac4426afd61108.html

感谢百度经验

事务处理数据

 1 <?php
 2 try{
 3 $pdo=new PDO("mysql:host=xxxx;dbname=xxxx","xxxx","xxxx");
 4 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
 5 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);
 6
 7 }catch(PDOException $e){
 8 echo "数据库连接失败:".$e->getMessage();
 9 exit;
10 }
11
12 //exce()返回影响的行数;
13 // $affected_rows=$pdo->exec("insert into shops(name,price,num,desn)values(‘aa‘,‘12.1‘,‘10‘,‘good‘)");
14 // echo "最后插入的自动增长的id".$pdo->lastInsertId();
15
16 //设置错误报告模式
17 //if(!$affected_rows){
18 // echo $pdo->errorCode()."<br>";
19 // print_r($pdo->errorInfo());
20
21 //}else{
22
23 // echo"执行成功";
24 //}
25
26 try{
27 $pdo->beginTransaction();
28 $price=500;
29 $sql="update zhanghao set price=price-{$price} where id=1";
30
31 $affected_rows=$pdo->exec($sql);
32
33 $sql="update zhanghao set price=price+{$price} where id=2";
34
35 $affected_rows=$pdo->exec($sql);
36 echo("交易成功");
37 $pdo->commit();
38
39 }catch(PDOException $e){
40 echo $e->getMessage();
41 $pdo->rollBack();
42 }
43
44 ?>

时间: 2024-10-20 18:44:48

MYSQL 事件 engines=INNODB的相关文章

Mysql事件学习

出自:http://blog.chinaunix.net/uid-20639775-id-3323098.html 在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQL语句.对于linux系统熟悉的人都知道linux的cron计划任务,能很方便地实现定期运行指定命令的功能.Mysql在5.1以后推出了事件调度器(Event Scheduler),和linux的cron功能一样,能方便地实现 mysql数据库的计划任务,而且能精确到秒.使用起来非常简单和方便. 由于最近需要用到事件这

《MySQL技术内幕InnoDB存储引擎》读书笔记 第一章

Mysql体系结构和存储引擎 1.1 定义数据库和实例 数据库:物理操作系统文件或其他形式文件类型的集合.    数据库文件可以使frm,MYD,MYI,ibd结尾的文件. 实例:MySQL数据库由后台线程以及一个共享内存区组成.    数据库实例才是真正用于操作数据库文件的. 实例与数据库的关系通常是一一对应的,在集群情况下可能存在一个数据库被多个数据实例使用的情况. MySQL被设计为一个单进程多线程架构的数据库,这点与SQL Server比较类似,但与Oracle多进程的架构有所不同(Or

mysql 默认引擎innodb 初探(二)

写在前 本篇博客承接上一篇 mysql 默认引擎innodb 初探(一)进行对mysql数据库 innodb存储引擎进行探索 mysql默认存储引擎 innodb简介 Innodb是第一个完整支持ACID事务的mysql存储引擎(BDB是第一个支持事务的mysql存储引擎,目前已经停止开发): 主要特点是 支持行锁,MVCC,事务,外键及一致性非锁读,可以有效利用CPU和内存: 各版本对比如下: tips : 如果不支持多回滚段,Innodb最大支持并发事务量被限制为1023 innodb体系架

MySql MyISAM和InnoDB的区别

MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键.如果事物回滚将造成不完全回滚,不具有原子性.如果执行大量 的SELECT,MyISAM是更好的选择. InnoDB:这种类型是事务安全的.它与BD

MySQL &#183; 引擎特性 &#183; InnoDB 崩溃恢复过程

MySQL · 引擎特性 · InnoDB 崩溃恢复过程 在前面两期月报中,我们详细介绍了 InnoDB redo log 和 undo log 的相关知识,本文将介绍 InnoDB 在崩溃恢复时的主要流程. 本文代码分析基于 MySQL 5.7.7-RC 版本,函数入口为 innobase_start_or_create_for_mysql,这是一个非常冗长的函数,本文只涉及和崩溃恢复相关的代码. 在阅读本文前,强烈建议翻阅我们之前的两期月报:1. MySQL · 引擎特性 · InnoDB

Mysql 之 添加innodb支持

在对mysql进行编译安装时,当安装完成后有时会发现不支持innodb存储引擎,这是因为编译安装时缺少支持innodb的参数: --with-plugins=PLUGIN[,PLUGIN..] Plugins to include in mysqld. (default is: none) Must be a configuration name or a comma separated list of plugins. Available configurations are: none ma

基于MYSQL事件的按月备份表,滚动,保留6次备份

要求: 每月1日0点:在不影响业务的情况下,备份整月的数据,保留6次备份. 思路: 基于MYSQL事件功能,每月按时完成操作 RENAME语句具有原子性,新旧表无缝切换 RENAME语句仅修改表定义,大表瞬间完成 基于上面三点,实现了表数据按月切割 步骤: 新建一个待替换的空表 重命名原表为日期备份表,空表为原表 删除6次前备份的那张表 参考官方文章 https://dev.mysql.com/doc/refman/5.6/en/rename-table.html 前提要求:打开MYSQL的事件

MySQL技术内幕-InnoDB存储引擎-读书笔记(二)

MySQL技术内幕-InnoDB存储引擎-读书笔记(二) 作为php开发,使用mysql总是少不了的 系列文章博客链接 http://itsong.net/articles/466.html 第三章 文件 mysql与innodb几个类型的文件 参数文件,配置路径.初始化参数.内存大小等 日志文件,包括错误日志,二进制日志,慢查询日志,查询日志 socket文件,用unix域套接字,unix domain socket来进行连接时需要的文件,这一般是本机连接,比通常tcp快 pid文件,进程id

《mysql技术内幕 InnoDB存储引擎(第二版)》阅读笔记

一.mysql架构 mysql是一个单进程多线程架构的数据库. 二.存储引擎 InnoDB: 支持事务 行锁 读操作无锁 4种隔离级别,默认为repeatable 自适应hash索引 每张表的存储都是按主键的顺序记性存放 支持全文索引(InnoDB1.2.x - mysql5.6) 支持MVCC(多版本并发控制)实现高并发 MyISAM: 不支持事务 表锁 支持全文索引 三.InnoDB体系架构 1.后台线程 Master Thread 负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性 IO