美文网首页
MySQL简介及安装

MySQL简介及安装

作者: 新_WX | 来源:发表于2019-08-05 20:42 被阅读0次

    一、MySQL简介及安装升级

    1、什么是数据

    数据(data)是数据库中存储的基本对象。数字只是一种最简单的数据,是数据的一种传统和狭义的理解。广义的理解,数据的种类很多,文字、图形、图象、声音、学生的档案记录等,这些都是数据。

    2、数据库管理系统(DBMS)

    • RDBMS(关系型)
    • NoSQL(非关系型)
    • NewSQL(分布式型)

    3、简介面试题

    (1)笔试
    请列举熟悉的数据库产品
    数据库类型 数据库名称
    RDBMS Orace、MySQL、MSSQL、PG
    NoSQL redis、Mongo、ES
    NewSQL TiDB、Spanner、OcenBase、PolarDB
    (2)面试
    你们公司用了哪些数据库产品

    MySQL 版本:MySQL 5.7.20 数据库架构 备份策略 遇到的故障和性能问题 总结
    Redis、MongoDB、ES

    4、MySQL软件分支

    Oracle MySQL、MariaDB、PerconaDB、云数据库(RDS MySQL,腾讯云等)。

    5、MySQL的企业版本选择

    企业版本主流
    5.6版本 5.6.34、5.6.36、5.6.38、5.6.40
    5.7版本 5.7.18、5.7.19、5.7.20、5.7.24

    下载地址:https://downloads.mysql.com

    image.png
    企业版本新环境选择稳定版本GA版,6-12个月,偶数版。

    6、MySQL5.7.26二进制规划和部署

    规划
    环境 配置
    硬件配置 DELL R720,CPU28,MEM128G,RAID108*600 SAS
    内核信息 Centos 7.6.1810 kernel 3.10.0-957.el7x86_64
    网络规划 eth0:10.0.0.51/24,hostname:DB01
    存储 /dev/sdb 900G
    • 创建相关目录
      ①/application(软件存放目录)
      ②/data/3306/data(数据存放目录)
      ③创建用户并且授权目录权限
      useradd mysql -s /sbin/nologin -M
      chown mysq:mysql -R /application
      chown mysql:mysql -R /data/3306/data
      ④上传软件并解压处理
      ⑤数据初始化
      rpm -qa | grep mariadb (确定是否有冲突,并且卸载)
      添加环境变量(/etc/profile):export PATH=/application/mysql/bin:$PATH
      查看MySQL版本(mysql -V)
      安装依赖:yum install -y libaio-devel
      初始化MySQL数据:mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data
      ⑥书写配置文件
      cat >/etc/my.cnf <<EOF
      [mysqld]
      user=mysql
      basedir=/application/mysql
      datadir=/data/3306/data
      socket=/tmp/mysql.sock
      secure-file-priv=/tmp
      [mysql]
      socket=/tmp/mysql.sock
      prompt=3306[\d]>
      EOF
      ⑦准备启动脚本
      cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
      启动方式说明:/etc/init.d/mysqld start|restart|stop
      ⑧添加到systemd管理中
      cat > /etc/systemd/system/mysqld.service <<EOF
      [Unit]
      Description=MySQL Server
      Documentation=man:mysqld(8)
      Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
      After=network.target
      After=syslog.target
      [Install]
      WantedBy=multi-user.target
      [Service]
      User=mysql
      Group=mysql
      ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
      LimitNOFILE = 5000
      EOF
      使用systemctl resstart|stop|start mysqld启动

    补充升级8.0版本
    ①二进制包解压,设置软连接mysql8
    ②停止原数据库
    systemctl stop mysqld.service
    /etc/init.d/mysqld start|restart|stop
    ③修改环境变量
    /etc/profile
    export PATH=/application/mysql8/bin:$PATH
    . /etc/profile
    mysql -V查看版本
    ④修改/etc/my.cnf配置文件
    [mysqld]
    user=mysql
    basedir=/application/mysql8
    datadir=/data/3306/data
    socket=/tmp/mysql.sock
    [mysql]
    socket=/tmp/mysql.sock
    prompt=3306[\d]>
    ⑤修改/etc/systemd/system/mysqld.service启动脚本
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/application/mysql8/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    ⑥启动systemctl restart mysqld
    8.0以前的版本需要使用mysql_upgrade升级MySQL数据
    du -sh 查看目录占用空间

    小结
        版本选择(熟悉)
            5.6主流版本
            5.7主流版本
            GA 6-12
            changelog   what is new?
        安装方式(熟悉)
            二进制
            源码
        规划和部署(重点掌握)
        升级(了解)
        简易管理(熟悉)
    

    二、MySQL体系结构和管理

    MySQL C/S模型

    Server: mysqld
    Client:socket-仅本地连接使用、tcp/ip-应用连接使用

    实例

    mysqld ----> master thread ----> 干活的线程+预分配的内存结构

    SQL语句执行过程

    select user,host from mysql.user;
    连接层:提供连接协议(socket、TCP/IP)
    验证user password host port
    提供连接线程
    show processlist;
    功能:接受SQL语句和返回结果
    SQL层
    语法检查和SQL_MODE检查
    语义的检查和权限检查
    解析预处理,生成解析树(执行计划树)
    选择最优的方案(代价模型算法)
    cpu、i/o、mem
    选择最优的方案进行执行SQL语句
    提供查询缓存(默认没有开启的),会使用redis rair替代查询缓存功能
    提供志记录(日志管理章节):binlog,默认是没有开启的

    image.png
    存储引擎层
    相当于文件系统,将数据取出,再交给SQL层机构化表,返回给用户
    image.png

    相关文章

      网友评论

          本文标题:MySQL简介及安装

          本文链接:https://www.haomeiwen.com/subject/zmjvdctx.html