• 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. 其它管理语句
  • 相关阅读:
    MVC之Ajax异步操作
    MVCHtmlHelper使用
    Xamarin.Forms初始
    .NET CORE2.0后台管理系统(一)配置API
    DDD领域驱动之干货(四)补充篇!
    基于官方驱动封装mongodb
    webApi签名验证
    在.Net下使用redis基于StackExchange.Redis
    DDD领域驱动之干货(三)完结篇!
    DDD领域驱动之干货(二)
  • 原文地址:https://www.cnblogs.com/jevo/p/3253361.html
Copyright © 2020-2023  润新知