mysql数据库查询缓存_MySQL查询缓存与数据库管理

MySQL查询缓存与数据库管理

上一篇 /

下一篇  2010-01-25 21:51:07

/ 个人分类:MYSQL/Cache

MySQL查询缓存

注意:查询缓存绝不返回过期数据。

如果一个表发生的改变(insert,update,delect,truncate,alter或drop table|database),那么所有这张表使用的缓冲的查询将被得失效,并从缓存中移除。

如果一个查询包括下面的函数,它将不能被缓存。

user-defined functions   connection_id   found_rows   get_lock   release_lock

load_file   master_pos_wait   now   sysdate   current_timestamp    curdate

current_date   curtime   current_time   database   encrypt  last_insert_id

rand   unix_timestamp   user   benchmark

查询缓存选项 select @@query_cache_type;

select sql_cache[选项on/off]

select sql_no_cache id,name from customer;

系统变量have_query_cache表示查询缓存是否可用。

show variables like ‘have_query_cache’;

系统查询query_cache_size表示查询缓存的大小。如果设置它为0,查询缓存将被禁止(缺省值为0)。

select @@global.query_cache_size;

若启用查询缓存,则系统变量query_cache_type表示查询缓存工作方式,他可以设置成如下值:

0(off,不缓存结果)

1(on,缓存所有的结果,除了select sql_no_cache… 查询)

2(demand,仅缓存select sql_cache… 查询)

用户可以禁止查询缓存;

set session query_cache_type=off;

若查询结果很大,缓存吗?

系统变量query_cache_limit控制可以缓存的查询结果的最大值,不缓存大于这个值的结果(缺省为1M)。

碎片整理

使用flush query cache命令,你可以整理查询缓存,以更好的利用它的内存。这个命令不会从缓存中移除任何查询。

清除cache

seset query cache命令从查询缓存中移除所有的查询结果。

flush tables也会清除查询缓存。

我们可以使用show status来监视查询缓存性能。

show status like ‘qcache%’;

变量                           含义

Qcache_queries_in_cache        搜索缓存中结果集的查询数目

Qcache_inserts                 被加入到缓存中的查询数目

Qcache_hits                    缓存命令数目

Qcache_lowmem_prunes           因为缺少内存而被从缓存中删除的查询数目

Qcache_not_cached              没有被缓存的查询结果数目(不能被缓存的,或由于

Query_cache_type)

Qcache_free_memory             查询缓存的空闲内存总数

Qcache_free_blocks             查询缓存的空闲内存块的数目

Qcache_total_blocks            查询缓存中的块的总数目

--------------------------------------------

MySQL 数据库管理

MySQL数据库管理

MySQL启动/停止/测试

添加用户

增加一个用户test_user密码为123,让他可以在任何主机上登陆,并对所有数据库有查询、插入、修改、删除的权限。

grant select,insert,update,delete on *.* to ‘test_user’@ ‘%’ identified by

‘123’;

增加一个用户test_user2密码123,让他只可以在localhost上登陆,并可以对数据库test进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使知道test_user2的密码,他也无法从Internet上直接访问数据库,只能通过MySQL主机上的web页来访问了。

grant select,insert,update,delete on test.* to ‘test_user2’@ ‘localhost’ identfied by ‘123’;

创建一个本地的完全的超级用户admin,口令 ‘123’

grant all privileges on *.* to admin@localhost identified by ‘123’ with grant option ;

删除用户

revoke all on *.* from ‘test_user’@localhost;

delete from user where user= ‘test_user’;

flush privileges;

删除匿名用户

mysql mysql

delete from user where host= ‘localhost’ and user= ‘’;

flush privileges;#刷新内存授权表

修改密码

mysqladmin –u用户名 –p旧密码password新密码

给root加个密码123,再修改密码为456

mysqladmin –uroot password 123

mysqladmin –uroot –p123 password 456

mysql –u root –p

set password for root =password(“456”);

update user set password =password(‘456’) where user= ‘root’;

flush privileges;

清除密码

mysqladmin –uroot –p456 password ‘’;

优化

optimize table 表1,表2…

对含有varchar,blob或text列的表(记录行长度可变)有用。

MySQL数据库备份与优化

导入

load data infile ‘/tmp/teacher.txt’into table teacher;

或 mysqlimport school /tmp/teacher.txt;

逻辑备份

将数据库school中的表全部备份到school_2004_9.sql文本文件

mysqldump –-opt school > school_2004_9.sql

仅备份数据库school中的一部分表teacher和student

mysqldump –-opt school teacher student >school_teacher_student_2004_9.sql

备份多个数据库

mysqldump –-databases school tset >school_test_2004_9.sql

恢复

将数据库school不慎破坏,从school_2004_9.sql备份文件中恢复数据

creat database school;

use school;

source school_2004_9.sql#恢复

恢复表teacher和student

use school;

soure school_teacher_student_2004_9.sql

恢复多个数据库

souce school_test_2004_9.sql

TAG:

我来说两句

显示全部

d8a3dac35532145b347031a8fb402eba.gif

4d73fc83cb27b31041650c043e06fdc8.gif

5d06f4dc9b08a7e1fecdedaf9fe87c66.gif

659391f05d11818e0d3bd694a6d99ddc.gif

f27d7d9f67d98cc858fe74ff4d76554e.gif

b0d82b880d66765dd2a1af173b20f406.gif

e87f042c31e114675541bb49e0fbf138.gif

97a372eda248bf63679ecf2d47467589.gif

a14a392968e29ace4cb2ca390d53264e.gif

ff31a40db0d852c3704276b17a1dd158.gif

46298ad80746c3790e9535ce3396efec.gif

ef97f2303f935b723744c0c99db267f8.gif

46add61d58ae5b455d8994b1485357d3.gif

701ffdce43c5ac45c241dba6a7ae431d.gif

4ac0c1a50de5d21a8087006d0295547a.gif

e54bbadbdbb00b0b5cc4182352ca2352.gif

afb655844bdfda4cf47fef6d239f009d.gif

bf5c12b671f1179ba425de53370ebd3d.gif

865ad24093d248b0ec3b85ea66a6aaa7.gif

ab80f8b6419577f8a8ad7bb690794024.gif

内容

昵称

验证

ada834077f6a48ad60a11ec0354fde86.png

提交评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值