• mysql安全基础(1)常见语句


    上一篇: docker安装和登陆mysql发现用docker安装mysql非常简洁方便快速,继续学习。

    1.查看当前数据库排行榜

    可以通过当前数据库使用排行榜:db-engines.com
    The most popular database management systems
    September 2022    Score
    1.    Oracle    1238
    2.    MySQL    1212
    3.    Microsoft SQL Server    926
    4.    PostgreSQL    620
    5.    MongoDB    490

    2.进入mysql

    查看容器
    docker  ps -a //查看存在的所有容器,包括停止的
    docker ps //查看正在运行的
    docker start 容器id //启动停止的容器
    docker exec -it sqlinjectmysql /bin/bash //打开进入容器
    mysql -uroot -p123 //进入数据库
    select user,host from myslql.user;//查看mysql支持的用户
    +---------------+-----------+
    | user          | host      |
    +---------------+-----------+
    | root          | %         |
    | mysql.session | localhost |
    | mysql.sys     | localhost |
    | root          | localhost |
    +---------------+-----------+
    4 rows in set (0.00 sec)
    第一个用户是可以远程连接的,上一篇介绍是如何创建的用户即:
    docker run --name sqlinjectmysql -d -p 4001:3306 -e MYSQL_ROOT_PASSWORD=123 mysql镜像id  
    //要进行网络访问就必须端口映射

    3.查看数据库中的系统库

    show databases; //查看系统库
    | Database
    +--------------------
    | information_schema
    | mysql
    | performance_schema
    | sys
    
    information_schema:信息数据库,存放所有库的信息,库名,表名,字段以及权限,也称之为元数据。渗透作用很大。
    schemata,tables,colums等.
    比如:
    show databases; 等价于:
    SELECT schema_name FROM information_schema.schemata;
    
    mysql:用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息。
    比如:select user,host from mysql.user;
    
    performance_schema:数据库服务器运行过程中的一些状态信息,是对 MySQL 服务器的一个性能监控。
    包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等等信息。
    
    sys:通过视图的形式把 information_schema 和 performance_schema 结合起来,可以更方便的了解 MySQL 服务器的一些性能信息。

    4.两种注释:

    1.-- (杠杠空格)这是注释标记
    2.#(井号)这是注释标记

    5.常用sql语句

    --查看所有库
    show databases;
    
    --进入某个库查看所有表
    use mysql ;
    show tables;
    --等同
    show tables from mysql;

    6.select语句

    --常见函数
    select now(); --当前时间
    select database(); --当前所在库 根据use调整。
    select version(); --版本
    select user(); --当前登陆用户
    
    --属性
    select @@datadir; //查看数据存放位置
    select @@basedir; //查看数据库位置
    select @@version_compile_os; //查看宿主系统
    
    --information_schema库,一些特定表内容提取为特定的语句
    show databases;等同:
    mysql> select schema_name from information_schema.schemata;
    +--------------------+
    | schema_name        |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    
    -- 创建test库
     create database test charset utf8mb4;
    use test;
    create table t1(id int);
    drop table t1;
    show tables; -- 等于:show tables from test;
    alter table t1 add name varchar(32);
    desc t1; -- 显示表字段
    insert into t1 values(1,"job"),(2,"jack"),(3,"bob");
    
    select * from information_schema.tables where 
    table_schema="test"; -- 查询库里有什么表
    select * from information_schema.columns where table_schema="test"; -- 查询库里有字段
    -- 库名称的获取可以使用函数然后作为参数传递:
    show database();
    
    -- union  联合两个以上select语句(追加显示),
    注意:前后记录必须列数一样多,否则报错)。(利用这个确认字段数量)
    mysql> select * from t1 union select 1,2;
    +------+------+
    | id   | name |
    +------+------+
    |    1 | job  |
    |    2 | jack |
    |    3 | bob  |
    |    1 | 2    |
    +------+------+
    select user,host from mysql.user union select * from test.t1;
    | user          | host      |
    +---------------+-----------+
    | root          | %         |
    | mysql.session | localhost |
    | mysql.sys     | localhost |
    | root          | localhost |
    | 1             | job       |
    | 2             | jack      |
    | 3             | bob       |
  • 相关阅读:
    webkit webApp 开发技术要点总结
    EJB 教程推荐
    MySQL 教程分享
    php 教程列表
    html 学习资料列表
    JAVA 教程推荐
    php+mysql预查询prepare 与普通查询的性能对比
    Spring 5 新特性:函数式Web框架
    Java多线程之并发协作生产者消费者设计模式
    php使用file函数、fseek函数读取大文件效率分析
  • 原文地址:https://www.cnblogs.com/straybirds/p/16737308.html
Copyright © 2020-2023  润新知