您现在的位置:主页 > 技术中心 > 数据库技术 > Mysql

mysql不被人知的秘密(3)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:46 点击:

 

#2.这时我们再给test2授权:grant select ,update on  mysql.* to test2;   //只能查询和更新mysql的所有表。

这时就会发现user表中用户test2的所有权限都是N,而db表中test2用户对mysql数据库的select_priv和update_priv的值为Y。

下面tables_priv表,和columns_priv表的权限由自己分析。

经过以上分析,我们对mysql的权限有了更深一点的认识。

 

四:mysql日志

mysql日志有四种:

#1.二进制文件:以二进制的形式记录了数据库中的操作,但不记录查询语句

#2.错误日志:记录mysql的启动,关闭和运行错误等信息,默认开启且无法停止

#3.通用查询日志:记录用户登录和记录查询的信息

#4.慢查询日志:记录查询时间超过指定时间的操作

默认情况下,只开启了错误日志的功能,其余的根据需要管理员设置

##使用二进制日志还原数据库

因为二进制文件存储更新数据库的语句,所以可以用来还原数据库

mysqlbinlog filename.number | mysql -uroot -p         //mysqlbinlog 用于打开二进制文件

使用mysqlbinlog进行还原数据库时,必须是编号(number)小的先还原。

 

五:性能优化

#1.性能参数:

show status ;     //查询mysql的性能参数

show status like 'value' ;   //查看某一参数

常用参数介绍如下:

Connections:连接mysql服务器的次数

Uptime:mysql服务器的上线时间

Slow_queries:慢查询的次数

Com_select:查询操作的次数

Com_insert:插入操作的次数

Com_update:更新操作的次数

Com_delete:删除操作的次数

 

#2.优化查询

##2.1用explain和describe分析查询语句

注使用索引查询记录时,一定要注意索引的使用情况  ->>见上面使用索引的注意事项

我们将上面用过的explain来分析

explain select  * from student where num=2;

执行结果如下:

 

1.id :select语句的编号

 

2.select_type:select语句的类型 

 

         #simple:简单查询,不包含连接查询和子查询

 

#primary:主查询或最外层的查询语句

 

#union:连接查询的第二个或后面的查询语句

 

2.table:查询的表

 

4.type:表的连接类型

 

#system:表中只有一条记录

#const:表中有多条记录,但只从表中查询一条

#all:对表进行了完整的扫描

#eq_ref:多表连接时,后面的表使用了union或者primary key

#ref:多表连接时,后面使用了普通索引

#unique_subquery:子查询使用了unique或者primary key

#index_subquery:子查询使用了普通索引

#range:查询语句给出了查询范围

#index:对表中的索引进行了完整的扫描

 

5.possible_keys:查询中可能使用的索引

 

6.key:查询使用的索引

 

7.key_len:索引字段的长度

 

8.ref:表示使用哪个列或常数与索引一起查询记录

 

9.rows:查询的行数

 

10:extra:查询附加信息

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片

推荐热点

  • mysql-mmm
  • mysqldump命令——MySQL数据库备份还原
  • Oracle数据导入MySQL的快捷工具:MySQL Migration Tool
  • 简简单单储存过程——循环一个select结果集
  • MySQL数据库十大优化技巧
  • Mysql安装笔记
  • Mysql主主复制架构配置
  • Mysql的Procedure 参数为NULL问题分析
  • MySQL Stmt预处理提高效率问题的小研究
?? - ?? - ÝřŝžľŘÝź - TAGąęÇŠ - RSSśŠÔÄ - ??
Copyright © 2004-2024 上海卓卓网络科技有限公司