1、查看存储过程

select specific_name  from  mysql.proc;
show procedure  status;
select `name` from  mysql.proc where db='dbname'  and type='procedure';


2、对于特殊关键字的表,要使用tab键处的单引号
show create table `union`;


3、show errors;   show  warnings;


4、转化mysql的数据文件为可读类型
hexdump -C -v 数据文件>mysql.txt


5、查看表、存储过程的存储、定义状态、使用什么存储引擎
show table status  like 'tablename';
show procedure status  like 'procedurename';

6、查看ST数据库中以C开头的表名
select table_name from information_schema.tables  where  table_schema='ST' and table_name  like 'C%';

select * from  information_schema.tables where table_type='base table'  and table_schema='databasename';


7、建立和表petlist结构相同的表
create table tt like petlist;

8、增加主键和外键
alter   table   t4  add   CONSTRAINT   pk_t4   PRIMARY   KEY  (id);
alter   table   t2  add   constraint         pk_fid   foreign  key t2(id)  references t3(id);

9、查看最近一次查询的开销,他来自对于统计数据的估计,统计数据主要包含每个表或者索引的页面数量
show status  like 'last_query_cost'


10、general_log=on  生成一个主机名.log的文件,记录了数据库中的每次操作语句。


11、innodb_stats_on_metadata默认是开启的,设置为off的之后,就不会触发索引统计
详细见: http://dinglin.iteye.com/blog/1575840

12、查看mysql innodb的版本
  • In the error log, it is printed during startup

  • show variables like 'innodb_version'\G;

  • select * from  information_shcema.plugins;

  • select @@innodb_version;


13、表修复
mysqlcheck  -r  mysql proc

14、限制单个用户连接数
grant all privileges  on *.*  to  'zjz'@'localhost' with grant option  max_user_connections 20  
   -> max_connections_per_hour  100
   -> max_queries_per_hour   1000
   -> max_updates_per_hour   1000;

15、刷新缓冲区
(1). RESET QUERY CACHE;
(2). FLUSH TABLES;

16、mysql设置时区

set  time_zone='+8:00';//表示北京时间,只对当前的窗口生效
可在配置文件中设置:default_time_zone  
一般是和系统的时间保持一致的,如果不想使用系统的时间,可以设置上面的参数
default_time_zone=+8:00

17、vim  /etc/resolv.conf(域名解析  nameserver  8.8.8.8)


18、查看mysql中两个表的结构差异

select  TABLE_NAME,COLUMN_NAME,ORDINAL_POSITION,COLUMN_DEFAULT,IS_NULLABLE,DATA_TYPE ,COLUMN_KEY  from  information_schema.COLUMNS   where TABLE_NAME='test' and  TABLE_SCHEMA='test';

通过information_schema.columns表来查看