标签为 "mysql" 的存档

InnoDB 引擎独立表空间 innodb_file_per_table

使用过MySQL的同学,刚开始接触最多的莫过于MyISAM表引擎了,这种引擎的数据库会分别创建三个文件:表结构、表索引、表数据空间。我们可以将某个数据库目录直接迁移到其他数据库也可以正常工作。然而当你使用InnoDB的时候,一切都变了。

InnoDB 默认会将所有的数据库InnoDB引擎的表数据存储

mysql 表复制

 

1.首先进入MySQL的命令行:

use database_name;

create table table_name select * from original_table_name where 1=2;

这样,就生成了一个新的表,它的表结构就与原始表相同,但是没有原始表中的数据。

mysql查询更新时的锁表机制分析

为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。

一、概述

MySQL有三种锁的级别:页级、表级、行级。
MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。

MySQL这3种锁的特性可大致归纳如下:

表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。

二、MyISAM表锁

MyISAM存储引擎只支持表锁,是现在用得最多的存储引擎。

1、查询表级锁争用情况

mysql中的日期类型

1.某表中的日期的类型是20101010120012,假如我们要转换成2010-10-10 12:00:12 这样的格式怎么办呢?

例如,我们想选出15天前的记录,SQL语句如下:

SELECT count(*) from
file_upload WHERE
DATE_FORMAT(pubdate,'%Y-%m-%d %H:%i:%S') <= CURDATE()-INTERVAL 15 DAY

其中file_upload是表名,pubdate是日期字段,这里用了DATE_FORMAT函数。

主要参考:http://www.w3school.com.cn/sql/func_date_format.asp

简单备份恢复MYSQL

1.备份MYSQL:

把一个库导出到一个SQL文件

mysqldump db_name > /home/hx/backup/name.sql -uroot -p

备份多个库(使用-B参数)

备份全部库

mysqldump –all-databases > /path/name.sql

Feed