MySQL 大表数据定期归档

数据库有一张表数据量很大,真正WEB项目只用到一个月内的数据,因此把一个月前的旧数据定期归档。1.创建一个新表,表结构和索引与旧表一模一样create table table_new like table_old;2.新建存储过程,查询30天的数据并归档进新数据库,然后把30天前的旧数据从旧表里删除delimiter $create procedure sp()begininsert into tb_new select * ...

阅读全文

阿里云RDS for MySQL 备份文件恢复到自建数据库

RDSMySQL使用开源软件 percona-Xtrabackup 对MySQL数据库进行备份。需要下载该软件,然后使用该软件进行恢复。RDS的备份文件是一个压缩包,需要先解压出来,才能恢复,这里下载解压工具 rds_backup_extract (http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh?spm=5176.7741817.2.13.FUUgYx&file=rds_backup_extract.sh),目前只支持64位Lin...

阅读全文

MySQL数据库在指定位置增加字段

这个本身属于MySQL的基本语法,我这里给出一个例子而已。mysql> -- 测试数据库在指定位置增加字段  mysql> drop table if exists t;  Query OK, 0 rows affected (0.06 sec)  mysql> create table t(age ...

阅读全文

MySQL触发器trigger详解

触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。举个例子,比如你现在有两个表【用户表】和【日志表】,当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器的情况下,你需要编写程序语言逻辑才能实现,但是如果你定义了一个触发器,触发器的作用就是当你在用户表中插入一条数据的之后帮你在日志表中插入一条日志信息。当然触发器并不是只能进行插入操作,还能执行修改,删除。创建触发器1.语法drop trigger if exi...

阅读全文

MySQL视图的用法详解

MySQL视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,MySQL视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。视图是存储在数据库中的查询的sql语句,它主要出于两种原因:安全原因,视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社...

阅读全文

MySQL 获得当前日期时间(以及时间的转换)

1.1获得当前日期+时间(date+time)函数:now()除了now()函数能获得当前的日期时间外,MySQL中还有下面的函数:current_timestamp()   current_timestamplocaltime()   localtimelocaltimestamp()   localtimestamp 这些日期时间函数,都等同于now()。鉴于now()函数简短易记,建议总是使用now()来替代上面列出的函...

阅读全文

MySQL字符串函数substring用法

MySQL字符串截取函数:left(),right(),substring(),substring_index()。还有mid(),substr()。其中,mid(),substr()等价于substring()函数,substring()的功能非常强大和灵活。1.字符串截取:left(str,length)mysql> select left('example.com', 3);+-------------------------+| left('e...

阅读全文

mysql开启慢查询方法

1.配置开启Linux:在mysql配置文件my.cnf中增加log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)long_query_time=2 (记录超过的时间,默认为10s)log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)log-long-format (如果设置了,所有没有使用索引的查询...

阅读全文

mysql忘记密码的解决方法

WINDOWS上MYSQL忘记密码的解决方法:1、 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql打开第一个cmd窗口,切换到mysql的bin目录,运行命令:mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables注释:该命令通过跳...

阅读全文

重启mysql提示MySQL server PID file could not be found!怎么办

今天重启mysql,竟然提示MySQL server PID file could not be found!Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/rekfan.pid).这样看来是mysql挂了,不能够起来,我们只能够一样样来排查了首先我们先查看进程,将所有mysql进程全部...

阅读全文