MySQL常用命令

一、数据库查询

1.查看当前服务器所有的库:

Mysql> SHOW DATABASES; //列出当前Mysql中包含的库,经过初始化后的MySQL服务器,默认建立了三个库:test、mysql和information_schema(其中mysql库中包含了用户认证相关的表)

设置新的最大连接数为200:

       mysql> set GLOBAL max_connections=200

显示系统中正在运行的所有进程,也就是当前正在执行的查询:

        mysql> show processlist

大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。

查看当前最大连接数:

         mysqladmin -uusername -ppassword variables |find "max_con"

显示create database 语句是否能够创建指定的数据库:

        show create database database_name;

显示create database 语句是否能够创建指定的数据库

        show create table table_name;

2.查看当前库中所有的表:

Mysql> use cur_datebase;  //切换到使用的库

Mysql> SHOW TABLES; //列出所有的表

Mysql数据库的数据文件默认存放在/usr/local/mysql/var/目录下,每个数据库对应一个子目录,用于存储数据表文件;每一个数据表对应为三个文件,后缀名分别为”.frm”” .MYD ”” .MYI ”。

查整个库的状态:

Mysql>select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size, concat(truncate(sum(max_data_length)/1024/1024,2),'MB') as max_data_size, concat(truncate(sum(data_free)/1024/1024,2),'MB') as data_free, concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size from information_schema.tables where TABLE_SCHEMA ='databasename';

查单表:

select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size, concat(truncate(sum(max_data_length)/1024/1024,2),'MB') as max_data_size, concat(truncate(sum(data_free)/1024/1024,2),'MB') as data_free, concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size from information_schema.tables where TABLE_NAME = ' 'tablename';

详细信息可以用:

      show table status from 库名;

如果已经使用过“use 库名"的命令,使用show table status是直接查的当前库

显示数据库中所有存储的存储过程基本信息, 包括所属数据库,存储过程名称,创建时间等:

           show procedure status  ;

显示某一个存储过程的详细信息

           show create procedure sp_name;

3.查看表结构:

Mysql> describe cur_database.cur_table; 或 desc cur_database.cur_table;

等同于: 

Mysql> use cur_database;

Mysql> describe cur_table;

显示表中列名称:

      Mysql>show columns from table_name from database_name;

             或show columns from database_name.table_name;

查看索引状态:

        show index from 库名

4.查看用户授权:SHOW GRANTS FOR'USERNAME'@'HOST'

       mysql> show grants for 'jerry'@'%'; -----查看创建用户的信息

                     show grants for root@localhost;

        显示服务器所支持的不同权限

        Mysql>show privileges;

5.查看服务器所支持的字符集:

        mysql> show character set;      -----查看当前服务器所支持的字符集

6.查看排序规则:

        mysql> show collation; -----查看排序规则

7.查看数据库的所有引擎:

        mysql> show engines; -----查看数据库中的所有引擎

     查看默认的搜索引擎:

       mysql>show variables like '%storage_engine%';

     查看某个表用的什么引擎

       mysql>show create table 表名;

     显示innoDB存储引擎的状态

        Mysql>show innodb status;

      显示安装后的可用存储引擎和默认引擎

        Mysql>show [storage] engines;

8.查看二进制日志数目

       mysql> show master logs;

       显示BDB存储引擎的日志

       Mysql> show logs;

       确认日志是否启用

       mysql>show variables like 'log_bin';

       查看当前的二进制日志

       mysql> show master status;

        看二进制日志文件
          shell>mysqlbinlog mail-bin.000001   或者shell>mysqlbinlog mail-bin.000001 | tail

       查看从某一段时间到某一段时间的二进制日志
        mysqlbinlog --start-datetime='2008-01-19 00:00:00' --stop-datetime='2008-01-30 00:00:00'  /var/lib/mysql/mysql-bin.000006 > mysqllog1.log


       显示最后一个执行的语句所产生的错误、警告和通知

           Mysql> show warnings;

       显示最后一个执行语句所产生的错误

           Mysql>show errors;

9.查看表的状态信息:

show table status; 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间

        mysql> show table status like 'user'; -----查看一张表的状态信息(横向显示的)

        mysql> show table status like 'user'G: -----查看一张表的状态信息(纵向显示)

SHOW TABLE STATUS会返回以下字段:

•        Name    表的名称。

•        Engine     表的存储引擎。在MySQL 4.1.2之前,本值被标记为Type。

•        Version    表的.frm文件的版本号。

•        Row_format   行存储格式(Fixed,Dynamic,Compressed,Redundant,Compact)。InnoDB表的格式被报告为Redundant或Compact。

•        Rows   行的数目。部分存储引擎,如MyISAM,存储精确的数目。对于其它存储引擎,比如InnoDB,本值是一个大约的数,与实际值相差可达40到50%。在这些情况下,使用SELECT COUNT(*)来获得准确的数目。对于在INFORMATION_SCHEMA数据库中的表,Rows值为NULL。

•        Avg_row_length   平均的行长度。

•        Data_length   数据文件的长度。

•        Max_data_length    数据文件的最大长度。如果给定了数据指针的大小,这是可以被存储在表中的数据的字节总数。mysql5以后的版本所能支持的最大存储容量是非常大的,这时表的最大存储容量主要受限于OS了。

•        Index_length   索引文件的长度。

•        Data_free   被整序,但是未使用的字节的数目。

•        Auto_increment   下一个AUTO_INCREMENT值。

•        Create_time   什么时候表被创建。

•        Update_time   什么时候数据文件被最后一次更新。

•        Check_time  什么时候表被最后一次检查。不是所有的存储引擎此时都更新,在此情况下,值为NULL。

•        Collation   表的字符集和整序。

•        Checksum   活性校验和值。

•        Create_options    和CREATE TABLE同时使用的额外选项。

•        Comment   创建表时使用的评注(或者有关为什么MySQL可以访问表信息的说明)。

10.查看状态变量的值:

        mysql> SHOW STATUS; 

        检查某几个状态变量:

         mysql> SHOW STATUS LIKE ‘[匹配模式]’; ( 可以使用%、?等 ) 

关于状态变量的解释:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#server-status-variables

        查看系统变量及其值:

         Mysql> SHOW VARIABLES;

关于系统变量:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#server-system-variables

        使用MySQL自带的mysqladmin 工具查看status,使用以下命令

                mysqladmin -uroot –password=’password’ status

        显示的结果如下:

Uptime: 87117 Threads: 1 Questions: 5481626 Slow queries: 16 Opens: 2211 Flush tables: 1 Open tables: 512 Queries per second avg: 62.923

        另外可以添加 -i 5 参数,让其每五秒自动刷新之。

                mysqladmin -uroot –password=’password’ status -i 5

          同样的可以使用mysqladmin -uroot –password=’password’ extended-status来查看更多的MySQL运行信息,这种方式和第一种查看的信息基本一样。

        查看mysql版本:

        select version();

11.查看当前正在进行的进程:(对于有锁表等情况的排查很有用处。一般情况下,打开MySQL的慢查询记录同样有利于排查。)

       Mysql>SHOW PROCESSLIST;

       显示当前已经被打开的表列表

         Mysql>SHOW OPEN TABLES

12.连接MySQL

格式: mysql -h主机地址 -u用户名 -p用户密码

例:连接到本机上的MYSQL。

        在打开的DOS窗口中进入mysql目录 bin,键入命令mysql –u root -p回车,后提示输入密码,即可进入到MYSQL,MYSQL的提示符是:mysql>。

例:连接到远程主机上的MYSQL。假设远程主机的IP为:172.168.10.78,用户名为root,密码为12345,键入以下命令:

           mysql -h172.168.10.78 -uroot -p12345

退出MYSQL命令: exit (回车)。

设置定界符:mysql> delimiter //; ---- 之后命令结束需使用//

如果你决定不想执行正在输入过程中的一个命令,输入c取消它 :

见:

13.5. 数据库管理语句

13.5.1. 账户管理语句
13.5.2. 表维护语句
13.5.3. SET语法
13.5.4. SHOW语法
13.5.5. 其它管理语句
原文地址:https://www.cnblogs.com/jevo/p/3253361.html