zoukankan      html  css  js  c++  java
  • CentOS7下mariadb日常管理

    在CentOS7下,官方提供的mysql的rpm包就是mariadb,可查看mariadb包信息

    [root@host ~]$rpm -qi mariadb    #  需要先安装该包
    Name        : mariadb            # 名称
    Epoch       : 1                  
    Version     : 5.5.52             # 版本
    Release     : 1.el7              # 发行版
    Architecture: x86_64             # 支持安装的CPU架构
    Install Date: Mon 24 Apr 2017 08:44:48 AM CST    # 安装时间
    Group       : Applications/Databases
    Size        : 50855896
    License     : GPLv2 with exceptions and LGPLv2 and BSD               
    Signature   : RSA/SHA256, Mon 21 Nov 2016 03:23:55 AM CST, Key ID 24c6a8a7f4a80eb5
    Source RPM  : mariadb-5.5.52-1.el7.src.rpm
    Build Date  : Tue 15 Nov 2016 09:20:59 AM CST
    Build Host  : c1bm.rdu2.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem <http://bugs.centos.org>
    Vendor      : CentOS
    URL         : http://mariadb.org
    Summary     : A community developed branch of MySQL
    Description :                                               # 描述
    MariaDB is a community developed branch of MySQL.
    MariaDB is a multi-user, multi-threaded SQL database server.
    It is a client/server implementation consisting of a server daemon (mysqld)
    and many different client programs and libraries. The base package
    contains the standard MariaDB/MySQL client programs and generic MySQL files.

     

    根据最后一项——Description描述,MariaDB属于MySQL的社区开发分支。

    同时,MariaDB是一款支持多用户、多线程的SQL数据库服务器。

    MariaDB采用C/S架构,mysqld作为服务器进程,还有许多的客服端程序和库。

     

    客户端命令mysql

    格式

    mysql [OPTIONS] [database]

    常用选项

    -u, --user=username:用户名,默认为root;
    -h, --host=hostname:远程主机(即mysql服务器)地址,默认为localhost; 客户端连接服务端,服务器会反解客户的IP为主机名,关闭此功能(skip_name_resolve=ON);
    -p, --password[=PASSWORD]:USERNAME所表示的用户的密码; 默认为空;
                    
      注意:mysql的用户账号由两部分组成:'USERNAME'@'HOST'; 其中HOST用于限制此用户可通过哪些远程主机连接当前的mysql服务;
                        HOST的表示方式,支持使用通配符:
                            %:匹配任意长度的任意字符;
                                172.16.%.%,  172.16.0.0/16
                            _:匹配任意单个字符;
                        
    -P, --port=#:mysql服务器监听的端口;默认为3306/tcp;
    -S, --socket=/PATH/TO/mysql.sock:套按字文件路径;                
    -D, --database=DB_name:连接到服务器端之后,设定其处指明的数据库为默认数据库;
    -e, --execute='SQL STATEMENT':连接至服务器并让其执行此命令后直接返回;

    注:在上面的选项中,选项和参数之间可以不使用空格分开。

    示例登录mysql

    [root@host ~]$mysql -uroot -p               #账号root, 选项和参数可以不分开
    Enter password: 
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 54
    Server version: 5.5.52-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]>                                    # 表示登录成功

    查看客户端常见命令

    MariaDB [(none)]> help
    
    General information about MariaDB can be found at
    http://mariadb.org
    
    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (?) Synonym for `help'.                                                 # 查看帮助
    clear     (c) Clear the current input statement.                                  #  清空当前输入的语句
    connect   (
    ) Reconnect to the server. Optional arguments are db and host.        #  重新连接服务器
    delimiter (d) Set statement delimiter.                                            #  设置语句分隔符(结束符),默认为分号';'
    edit      (e) Edit command with $EDITOR.                         #  编辑命令
    ego       (G) Send command to mysql server, display result vertically.            # 发送命令至服务器,垂直显示结果
    exit      (q) Exit mysql. Same as quit.                         # 退出
    go        (g) Send command to mysql server.                                       # 发送命令至服务器
    help      (h) Display this help.                             # 查看帮助
    quit      (q) Quit mysql.                                 # 退出
    source    (.) Execute an SQL script file. Takes a file name as an argument.       # 读取SQL脚本
    system    (!) Execute a system shell command.                                     #  执行shell命令
    tee       (T) Set outfile [to_outfile]. Append everything into given outfile.     #  设置输出文件
    use       (u) Use another database. Takes database name as argument.              # 指定数据库
    charset   (C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. # 指定字符集
    warnings  (W) Show warnings after every statement.                                # 显示警告信息
    nowarning (w) Don't show warnings after every statement.                # 不显示警告信息 

    查看mysql服务端帮助信息,可使用help contents:

    MariaDB [(none)]> help contents
    You asked for help about help category: "Contents"
    For more information, type 'help <item>', where <item> is one of the following
    categories:
       Account Management                   # 账户管理语句
       Administration                       # 管理员  
       Compound Statements               
       Data Definition                      # 数据定义语句
       Data Manipulation                    # 数据操作语句
       Data Types                           # 数据类型
       Functions                            # 函数
       Functions and Modifiers for Use with GROUP BY
       Geographic Features
       Help Metadata
       Language Structure
       Plugins
       Procedures
       Table Maintenance
       Transactions
       User-Defined Functions
       Utility

    要查看某一类命令或者某单一命令使用,均可使用help KEYWORD查看,例如:

    MariaDB [(none)]> help Data Definition;
    You asked for help about help category: "Data Definition"
    For more information, type 'help <item>', where <item> is one of the following
    topics:
       ALTER DATABASE
       ALTER EVENT
       ALTER FUNCTION
    
       ...
    
       RENAME TABLE
       TRUNCATE TABLE
    
    MariaDB [(none)]> help create table;
    Name: 'CREATE TABLE'
    Description:
    Syntax:
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        (create_definition,...)
        [table_options]
        [partition_options]
    
    Or:
    
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        [(create_definition,...)]
        [table_options]
        [partition_options]
        select_statement
    
    Or:
    
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        { LIKE old_tbl_name | (LIKE old_tbl_name) }
    
    ...

    数据类型

    自动增长类型
            AUTO_INCREMENT
    字符型:
            char/binary        varchar/varbinary
            text/ngtext/blob/ediumblob/longblob
            set/enum
    数值型
            int/tinyint/smallint/mediumint/bigint
            decimal
            float/double
    日期型
            date/time/datetime/timestamp/year(2,4)
                    

    常见数据库管理语句

    选择操作的数据库

    USE db_name

    创建

    CREATE  {DATABASE | SCHEMA}  [IF NOT EXISTS]  db_name;
    [DEFAULT]  CHARACTER SET [=] charset_name                 # 设置字符集
    [DEFAULT]  COLLATE [=] collation_name                     # 设置排序方式
                            
    SHOW CHARACTER SET             #  查看支持的所有的字符集
    SHOW  COLLATION                       #  查看支持的所有排序方式

    修改

    ALTER {DATABASE | SCHEMA}  [db_name]

    删除

    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

    查看

    SHOW {DATABASES | SCHEMAS}
        [LIKE 'pattern' | WHERE expr]          

     

    表管理

    创建

    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name    
        (create_definition,...)          #  字段定义  
        [table_options]                  #  数据表的基本设置
        [partition_options]              #  分割选项

    修改

    ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
        [alter_specification [, alter_specification] ...]
        [partition_options]

    删除

    DROP [TEMPORARY] TABLE [IF EXISTS]
        tbl_name [, tbl_name] ...
        [RESTRICT | CASCADE]

    DML数据操作语言

    查看

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]      
          [HIGH_PRIORITY]
          [STRAIGHT_JOIN]
          [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
          [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr ...]
        [FROM table_references
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [HAVING where_condition]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ...]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [PROCEDURE procedure_name(argument_list)]
        [INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
          | INTO DUMPFILE 'file_name'
          | INTO var_name [, var_name]]
        [FOR UPDATE | LOCK IN SHARE MODE]]

    插入

    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
        [INTO] tbl_name [(col_name,...)]
        {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
        [ ON DUPLICATE KEY UPDATE
          col_name=expr
            [, col_name=expr] ... ]

    删除

    Single-table syntax:
    
    DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
        [WHERE where_condition]
        [ORDER BY ...]
        [LIMIT row_count]
    
    Multiple-table syntax:
    
    DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
        tbl_name[.*] [, tbl_name[.*]] ...
        FROM table_references
        [WHERE where_condition]

    修改

    Single-table syntax:
    
    UPDATE [LOW_PRIORITY] [IGNORE] table_reference
        SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
        [WHERE where_condition]
        [ORDER BY ...]
        [LIMIT row_count]
    
    Multiple-table syntax:
    
    UPDATE [LOW_PRIORITY] [IGNORE] table_references
        SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
        [WHERE where_condition]

    权限管理(账户管理)

    创建用户

    CREATE USER user_specification
        [, user_specification] ...
    
    user_specification:
        user
        [
            IDENTIFIED BY [PASSWORD] 'password'
          | IDENTIFIED WITH auth_plugin [AS 'auth_string']
        ]

    删除用户

    DROP USER user [, user] ...

    向用户授权

    GRANT
        priv_type [(column_list)]
          [, priv_type [(column_list)]] ...
        ON [object_type] priv_level
        TO user_specification [, user_specification] ...
        [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
        [WITH with_option ...]
    
    GRANT PROXY ON user_specification
        TO user_specification [, user_specification] ...
        [WITH GRANT OPTION]

    取消授权或者调整权限

    REVOKE
        priv_type [(column_list)]
          [, priv_type [(column_list)]] ...
        ON [object_type] priv_level
        FROM user [, user] ...
    
    REVOKE ALL PRIVILEGES, GRANT OPTION
        FROM user [, user] ...
    
    REVOKE PROXY ON user
        FROM user [, user] ...
  • 相关阅读:
    HTTP网页错误代码大全带解释
    记录一下手把手教您做电商网站
    C#中的Attribute
    C#中dynamic的正确用法
    【CSP】最大的矩形
    【CSP】字符与int
    C++数组初始化
    C++中输出字符到文本文档
    C++ 中时钟函数的使用
    各种函数的头文件
  • 原文地址:https://www.cnblogs.com/vathe/p/6935260.html
Copyright © 2011-2022 走看看