美文网首页MySQLJava 核心技术
走向DBA之数据库介绍与安装

走向DBA之数据库介绍与安装

作者: 国王12 | 来源:发表于2019-06-15 16:15 被阅读18次

    一、什么是数据库?

    简单理解,就是存放数据的仓库。只不过是按照一定的数据结构或者说是数据之间的关系而进行组织和存储

    二、数据库种类及代表产品

    DBMS 数据库管理系统

    关系型数据库(RDBMS):Oracle , MySQL , PG , MSSQL等
    非关系型数据库(NoSQL): MongoDB , Redis , ES等
    分布式数据库(NEWSQL):TIDB , Spanner , AlisQL , OB , PolarDB

    关系型数据库简单说就是二维表的形式(中小型企业)
    非关系型数据库简单说就是利用缓存的形式,解决了高并发的场景(特定需求)

    本人主要学习的是关系型数据库中的MySQL数据库,因此此后以MySQL为主介绍对象

    MySQL版本

    5.6 : 5.6.34 5.6.36 5.6.38(2017.9.13) 5.6.40
    5.7 : 5.7.18 5.7.20(2017.9.13) 5.7.24
    8.0 : 8.0.14 8.0.15 8.0.16

    三、数据库下载

    提供两种下载方式,任选其一即可

    第一种方式:MySQL官网下载:

    官网地址:www.mysql.com

    1.搜索官网

    image.png

    2.选择社区免费版

    image.png

    3.选择具体下载版本

    image.png

    4.在linux操作系统使用wget下载即可,也可以直接点击下载,将压缩包下载保存到本地,然后上传到linux。

    注意:我下载的是5.7.26版本

    第二种下载方式:国内开源镜像下载

    官网地址:http://mirrors.163.com

    1.进入网站找到mysql

    image.png

    2.选择下载

    image.png

    3.选择版本

    image.png

    4.找到适合linux系统的5.7.26的版本

    image.png

    5.找到自己需要的版本(5.7.26),右击复制网址,在linux操作系统上wget下载即可。

    (网速不给力,就这几张图,浪费了我老半天....)

    四、安装数据库(二进制安装)

    1.根据上边提供的下载方式,相信你已经下载了自己心仪的版本,直接下载到linux系统上也好,下载到本地拖拽安装包到linux也好。

    2.解压安装包

    (如果你选择的版本跟我一样,可以肆无忌惮的粘贴复制,但是如果版本不一致,那么你就要稍微有所变动了)

    tar zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    

    3.创建一个存放软件的专业路径

    mkdir -p /application
    

    4.移动解压好的版本到该路径下,并直接去掉版本号(可以理解为美观)

    mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/
    

    5.卸载依赖包,并检查

    yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y
    rpm -qa |grep mariadb
    

    6.下载依赖包,并检查

     yum install -y libaio-devel
     yum install -y libaio-devel
    

    7.添加一个管理mysql的用户,名为mysql

    useradd -s /sbin/nologin -M mysql
    

    8. 讲全路径写入/etc/profile里,并将其生效,即可不用全路径使用mysql命令

    echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
    source /etc/profile
    

    9.使用mysql命令直接检查版本,若生效,则代表上一步执行成功

    [root@mysql51 ~]# mysql -V
    mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper
    

    10.添加一块新的磁盘,存放数据库相关数据(虚拟机)

    11.查看磁盘是否添加成功

    [root@mysql51 /application]# fdisk -l
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048      411647      204800   83  Linux
    /dev/sda2          411648     4507647     2048000   82  Linux swap / Solaris
    /dev/sda3         4507648    41943039    18717696   83  Linux
    
    Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors 主要看这个
    

    12.格式化添加的新磁盘

    mkfs.xfs /dev/sdb
    

    13.创建数据库专用存放数据的目录

    mkdir -p /data/mysql/data
    

    14.检查UUID

    [root@mysql52 ~]# blkid
    /dev/sda1: UUID="14709ddf-11dc-4d58-aaeb-49584bf4f9ac" TYPE="xfs" 
    /dev/sda2: UUID="b4aa4d13-b8ea-4c58-88a6-3e637e0bd6ce" TYPE="swap" 
    /dev/sda3: UUID="64a5c599-11cf-4088-87b1-7c04360b6afd" TYPE="xfs" 
    /dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
    /dev/sdb: UUID="90d1ff32-12b9-4e9d-9f86-ff1aa4d886fc" TYPE="xfs"   有了,格式化成功
    

    15.将UUID写入/etc/fstab实现开机自动挂载

    echo "UUID="90d1ff32-12b9-4e9d-9f86-ff1aa4d886fc" /data    xfs    defaults     0 0" >>/etc/fstab
    

    16.挂载

    mount -a  (生效/etc/fstab)
    

    17.检查挂载是否成功

    [root@mysql51 ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        18G  4.8G   14G  27% /
    devtmpfs        476M     0  476M   0% /dev
    tmpfs           487M     0  487M   0% /dev/shm
    tmpfs           487M  7.6M  479M   2% /run
    tmpfs           487M     0  487M   0% /sys/fs/cgroup
    /dev/sda1       197M  105M   93M  54% /boot
    tmpfs            98M     0   98M   0% /run/user/0
    /dev/sdb        5.0G  154M  4.9G   4% /data  (挂载成功)
    

    (可以重启系统,验证开机是否自动挂载,如果开机未能实现开机自动挂载,可参考我的简述中(关于开机自动挂载那点坑)地址:https://www.jianshu.com/p/193239d5733b

    18.授权目录和软件权限为mysql

     chown -R mysql.mysql /data/mysql
     chown -R mysql.mysql /application/mysql
    

    19.初始化数据库(无密码)

    mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
    

    20.配置数据库配置文件

    [root@mysql51 ~]# vim /etc/my.cnf
    [mysqld]
    user=mysql
    basedir=/application/mysql
    datadir=/data/mysql/data
    socket=/tmp/mysql.sock
    server_id=6
    port=3306
    [mysql]
    socket=/tmp/mysql.sock
    

    截至目前,哎呀妈呀,终于写完了,接下来,启动数据库

    [root@mysql51 ~]# /application/mysql/support-files/mysql.server start
    Starting MySQL....                                         [  OK  ]
    

    更多启动数据库方式,尽情期待下一章...

    关于安装期间报错处理:

    1.初始化数据库报错

    image.png
    原因:存放数据库的目录也就是/data/mysql/data下有其他东西,不干净
    解决:可以cd进去看看什么东西,mv移动到其他地方或者rm -fr然后重新初始化

    2.无法启动数据库,报PID错误,大部分报错都是这样,查看报错日志(如果你没有做特殊改动的话,错误日志在/data/mysql/dara/主机名.err)

    原因:就目前为止,知识安装数据库,错误出现的地方可能是以下几点:

    1.权限问题,查看路径权限可mysql软件权限属主属组是否为mysql

    2.配置文件问题,查看/etc/my.cnf,看看指定路径和实际是否不一致

    3./tmp/mysql.sock文件。如果数据库没启动,这个文件不该存在(rm -rf)

    温馨提示:数据库这个软件比较掘,千万别使用pkill强行关闭数据库

    相关文章

      网友评论

        本文标题:走向DBA之数据库介绍与安装

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