• 基础篇:MySQL系列之三


    一、MySQL简介

    MySQL原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购。2009年,Oracle收购sun公司,MySQL成为Oracle旗下产品。

    被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目OpenSolaris的发展,因此导致自由软件社区们对于Oracle是否还会持续支持MySQL社区版(MySQL之中唯一的免费版本)有所隐忧,MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB。而原先一些使用MySQL的开源软件逐渐转向MariaDB或其它的数据库。

    二、MySQL的发展历史

    作者:Monty 麦克尔·维德纽斯

    • 1996年:发布MySQL1.0,开始是Solaris版本,后来又发布了Linux版本
    • 1999年:Monty 在瑞典成立了 MySQL AB 公司
    • 2003年:MySQL 5.0版本发布,增加了视图、存储过程等功能
    • 2008年:被 sun公司 收购
    • 2009年:Oracle 收购 sun
    • 2009年:Monty 成立 MariaDB

    版本的演变:

    ​ MySQL:5.1 --> 5.5 --> 5.6 --> 5.7

    ​ MariaDB:5.5 -->10.0--> 10.1 --> 10.2 --> 10.3

    三、MariaDB的基本使用

    MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

    MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。

    插件式存储引擎:也称为“表类型”,存储管理器有多种实现版本,功能和特性可能均略有差别;用户可根据需要灵活选择,Mysql5.5.5开始innoDB引擎是MYSQL默认引擎。MyISAM ==> Aria ,InnoDB ==> XtraDB

    1、基本安装与配置

    安装:yum install mariadb-server

    主配置文件:从上到下检查,如果有重复的配置参数则在后边的配置文件中的参数生效,覆盖检索

    /etc/my.cnf
    /etc/mysql/my.cnf
    /etc/sysconfig/my.cnf
    /usr/local/etc/my.cnf
    ~/.my.cnf
    

    ​ 查看默认配置:/usr/libexec/mysqld --print-defaults

    默认数据库库文件存放目录:/var/lib/mysql/

    套接字文件:/var/lib/mysql/mysql.sock

    PID文件:/var/run/mariadb/mariadb.pid

    日志文件:/var/log/mariadb/mariadb.log

    启动服务:# systemctl start mariadb.service

    2、客户端命令:mysql

    选项:

    ​ -u root 指定用户
    -p password 指定密码
    -h host 指定连接主机
    -A 禁止补全
    -P port 指定端口,默认3306
    ​ -S socket文件路径 默认:/var/lib/mysql/mysql.sock
    ​ -D databasename 指定默认数据库
    ​ -C 启用压缩
    ​ -e SQL_CMD 执行后退出
    -V 查看版本
    ​ --print-defaults 查看默认设置

    • 批处理模式
      • mysql < /path/somefile.sql 将sql脚本导入数据库执行
    • 交互式模式
      • 客户端命令

        • d|delimiter 设置语句结束符
        • c|clear 提前结束语句
        • |connect 重新连接数据库
        • g 直接将语句送服务器执行
        • G 直接将语句送服务器执行;结果纵向显示
        • .|source 读入脚本文件创建数据库
        • ! COMMAND 执行shell命令
        • W 语句执行结束后显示警告信息
        • w 语句执行结束后不显示警告信息
        • s 获取当前系统状态
        • use database_name 指定操作的数据库
        • prompt u@[D] :m:s-> 修改提示符,如果需要永久修改则在my.cnf中 [mysql] 下加入 prompt="(u@h) [d]>
        • q 退出
      • 服务器命令:需要在命令后加命令结束符,默认结束符为分号";"

        • help KEYWORD 获取服务器命令的帮助
        • select version(); 查看数据库版本
        • show variables; 显示数据库当前工作的环境变量

    3、其他客户端工具

    • mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中
    • mysqladmin:基于mysql协议管理mysqld
    • mysqlimport:数据导入工具
    • myisamchk:检查MyISAM库
    • myisampack:打包MyISAM表
    • mysqld_safe:服务二进制程序
    • mysqld_multi:创建多实例工具

    4、安全加强脚本 mysql_secure_installation

    ​ 这个脚本可以帮助我们做一下基本的安全加强

    [root@centos7 mysql]# mysql_secure_installation
    Enter current password for root (enter for none):   #空密码直接回车
    Set root password? [Y/n] Y  #设置root密码
    New password: ******
    Re-enter new password: ******
    Remove anonymous users? [Y/n] Y  #删除匿名账户
    Disallow root login remotely? [Y/n] n  #禁用远程连接
    Remove test database and access to it? [Y/n] Y  #删除test库
    Reload privilege tables now? [Y/n] Y  #重读授权表使其配置生效
    [root@centos7 mysql]# mysql -uroot -p'your_password'  #连接数据库命令
    

    @_@ 2018.06.05 11:38

  • 相关阅读:
    2020/5/18 BUU_ [GWCTF 2019]xxor
    2020/5/17 BUU_[BJDCTF2020]BJD hamburger competition
    2020/5/17 BUU_[BJDCTF2020]easy
    2020/5/16 BUU_ [ACTF新生赛2020]easyre
    2020.5.16 15:06
    由一道逆向题而引发,IDA调试ELF文件
    【攻防世界】对于parallel-comparator-200的理解的感想
    『攻防世界』:新手区 | when_did_you_born
    『攻防世界』:新手区 | guess number
    『攻防世界』:新手区 | level3
  • 原文地址:https://www.cnblogs.com/L-dongf/p/9138934.html
Copyright © 2020-2023  润新知