• day01--数据库介绍及二进制安装MySQL5.6


    MySQL数据库

    一、数据库结构体系

    UV8YIH.jpg

    二、MySQL简介

    1.什么是数据

    数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。
    在计算机系统中,数据以二进制信息单元0,1的形式表示。
    
    数据的定义: 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。
    

    2.数据库管理系统种类

    1)关系型数据库 DBMS(database management system)

    mysql
    oracle
    sqlserver
    mariadb
    
    以多张二维表的方式来存储,又给多张表建立了一定的关系(关系型数据库)
    
    #范式拆表:将一个表拆到不能再拆
    

    2)非关系型数据库

    redis
    	127.0.0.1:6379> set k1 v1	#设置值
    	OK
    	127.0.0.1:6379> get k1		#查看值
    	"v1"
    memcache
    mongodb
    elasticsearch
    
    非关系型数据库,很多以json格式进行存储数据的
    

    3)关系型数据库和非关系型数据库对比

    关系型数据库:
    	1.强大的查询功能
    	2.强一致性
    	3.二级索引
    	
    非关系型数据库:
    	1.灵活
    	2.高扩展性
    	3.性能高
    

    4)关系型数据库和非关系型数据库特点对比

    关系型数据库(RDBMS)的特点:
    	1.二维表
    	2.数据存取是通过SQL(Structured Query Language结构化查询语言)
    	3.最大特点数据安全性方面强(ACID)
    		原子性,一致性,隔离性,持久性
    
    非关系型数据库(NoSQL:Not only SQL)的特点:
    	1.不是否定关系型数据库,而是做关系型数据库的补充。
    	2.性能高,速度快(存储在内存中,所以速度快,但是要考虑数据放入内存会不会丢失数据,可以考虑redis,做到了数据一边放入内存的同时,将内存的信息也放入磁盘,保证数据不丢失)
    

    5)NoSQL特性总览

    1. 不是否定关系型数据库,而是做关系型数据库的补充,现在也有部分替代的趋势mongodb。
    2. 关注高性能,高并发,灵活性,忽略和上述无关的功能。
    3. 现在也在提升安全性和使用功能。
    4. 典型产品:redis(持久化缓存)、MongoDB(最接近关系型数据库的NoSQL)、memcached。
    5. 管理不是用SQL管理,而是用一些特殊的API或数据接口。
    

    6)NoSQL的分类、特点、典型产品

    1.键值(key value)存储:memcached、redis
    2.列存储(column-oriented):HBASE(新浪、360)Cassandra(200台服务器集群)
    3.文档数据库(document-oriented):MongoDB(最接近关系型数据库的NoSQL)
    4.图形存储(Graph):Neo4j
    

    7)mysql数据库版本

    - 1.0
    - 5.1
    - 5.5
    - 5.6
    - 5.7
    - 8.0
    
    #版本选择的潜规则:
    	5.6版本:选择GA 6-12 个月,小版本为偶数版
    	5.7版本:选择GA 6-12 个月,小版本为偶数版,尽量选择5.7.17版本以上
    

    三、mysql安装

    1.安装方式

    1.二进制安装
    2.源码包安装
    3.rpm包安装
    

    1.二进制安装

    1)上传或者下载包

    [root@m01 ~]# rz
    #或者
    [root@web01 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
    

    2)安装依赖

    [root@m01 ~]# yum install -y ncurses-devel libaio-devel
    

    3)解压包

    [root@m01 ~]# tar xf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
    

    4)移动目录

    [root@m01 ~]# mv mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/
    

    5)做软连接

    [root@m01 ~]# ln -s /usr/local/mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/mysql
    

    6)创建mysql用户

    [root@m01 ~]# useradd mysql -s /sbin/nologin -M
    

    7)拷贝配置文件和启动脚本

    [root@m01 support-files]# cp my-default.cnf /etc/my.cnf
    cp: overwrite ‘/etc/my.cnf’? y
    
    [root@m01 support-files]# cp mysql.server /etc/init.d/mysqld
    

    8)初识化数据库

    [root@m01 ~]# cd /usr/local/mysql/scripts/
    [root@m01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    
    --user:	指定用户
    --basedir: 指定安装目录
    --datadir: 指定数据目录
    
    #初始化成功的标志是两个ok
    

    9)启动数据库

    [root@m01 scripts]# /etc/init.d/mysqld start
    

    10)配置环境变量

    [root@m01 scripts]# vim /etc/profile.d/mysql.sh
    export PATH=/usr/local/mysql/bin:$PATH
    
    [root@m01 scripts]# source /etc/profile
    

    11)配置system管理mysql

    [root@m01 scripts]# vim /usr/lib/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=https://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=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    
    [root@m01 scripts]# systemctl daemon-reload
    [root@m01 scripts]# systemctl start mysqld
    

    12)确认启动

    [root@m01 scripts]# ps -ef | grep mysql
    mysql     12886      1  2 03:10 ?        00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    root      12921  10636  0 03:11 pts/1    00:00:00 grep --color=auto mysql
    [root@m01 scripts]# netstat -lntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      12027/redis-server  
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      6180/rpcbind        
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7113/sshd           
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7198/master         
    tcp6       0      0 :::3306                 :::*                    LISTEN      12886/mysqld        
    tcp6       0      0 :::111                  :::*                    LISTEN      6180/rpcbind        
    tcp6       0      0 :::22                   :::*                    LISTEN      7113/sshd           
    tcp6       0      0 ::1:25                  :::*                    LISTEN      7198/master         
    [root@m01 scripts]# mysql
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 1
    Server version: 5.6.46 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql>
    
  • 相关阅读:
    从获取QQ验证码谈如何改进用户体验,提高程序的响应效果
    如何利用C#批量注册QQ邮箱
    利用DotRAS组件,实现ADSL的自动拨号断网自动化操作
    探讨如何利用C#登录QQ邮箱进行群邮件的发送
    利用C#开发基于snmpsharpnet基础的SNMP开发应用
    QQ窗口抓取及如何进行自动化操作
    对比三种GoogleMap图标操作处理,谈如何构造快速响应的GoogleMap图标叠加操作
    Winform下的地图开发控件(GMap.NET)使用心得之三批量解析地址经纬度坐标
    基于Lumisoft.NET实现的邮件发送功能
    谈谈数据加密的处理提供各种算法处理
  • 原文地址:https://www.cnblogs.com/tcy1/p/13271675.html
Copyright © 2020-2023  润新知