什么是数据库管理系统

1)管理数据(增删改查)

2)存储数据

数据库管理系统的分类

1)关系型数据库(rdbms)

典型产品:mysql,oracle,mariadb,mssql(sqlserver)

2非关系型数据库(nosql)

典型产品:resis,mongodb,elasticsearch(search engine)

关系型数据库非关系型数据库功能对比



数据库管理:

1.用户管理

用户的权限

用户的密码

用户的主机域(ip)

2.库管理,表管理(统称数据管理)

涉及到sql语句

ddl、dml、dql、dcl、

3.配置管理(应用)

4.集群管理

5.监控

进程

端口

主从状态

主从延迟

sqk读写速率

第一步:准备新的服务器(db03-10.0.0.15)如果我有从开始搭建mysql,运行到现在所有的binlog,我可以将数据恢复到任意时间节点

HISTCONTROL=ignoreboth 在/etc/profile 最下面添加这句话,然后 source /etc/profile 则history的时候直接忽略前面有空格的命令和重复命令,就是history的时候不会显示在屏幕

mysql第三方工具是navicat

为什么用mysql,不用execl和world,因为mysql安全性高,性能好,可以做集群(高可用)

什么是数据:数据是可以连续的值,比如声音,图像,称为模拟数据,也可以是离散的,比如符号,文字称为数据,以二进制的形式存储于磁盘里

如果数据保存在word里,缺点

1.world存储数据,需要打开内存

2.数据查询不方便

3.安全级别不高

4.world不支持集群和主从复制

所以我们需要数据库管理系统,用来管理数据库的系统(dbms):database management system

关系型数据库和非关键性数据库的特点

关系型数据库:

1)强大的查询功能

2)强一致性:数据型安全要保持一致(事务,redo,undo)

3)二级索引(二分化,有目录)

非关系型数据库:

1)灵活,redis sentinel

2)扩展性

3)性能高

memcache不支持持久化,把数据写在缓存里,重启就直接把缓存里的数据清空了,redis支持持久化

mongodb很多公司不用mysql用这个,最接近关键型数据库的nosql

小版本是偶数版,奇数版一般给开发使用

安装mysql

**源码安装**

MySQL5.6:GA 6-12个月 小版本是偶数版本

MySQL5.7:GA 6-12个月 小版本是偶数版本 5.7.17版本以上(MGR MySQL自带的高可用)

1.1-解压

#0.安装依赖
[root@db01 ~]# yum install -y cmake gcc gcc-c++ glibc ncurses-devel autoconf libaio-devel
#1.解压
[root@db01 ~]# tar xf mysql-5.6.40.tar.gz
[root@db01 ~]# ll mysql-5.6.40
total 256
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 BUILD
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 client
drwxr-xr-x 4 7161 31415 4096 2018-02-26 20:50 cmake
-rw-r--r-- 1 7161 31415 23275 2018-02-26 20:46 CMakeLists.txt
drwxr-xr-x 3 7161 31415 21 2018-02-26 20:50 cmd-line-utils
-rw-r--r-- 1 7161 31415 19838 2018-02-26 20:46 config.h.cmake
-rw-r--r-- 1 7161 31415 40929 2018-02-26 20:46 configure.cmake
-rw-r--r-- 1 7161 31415 17987 2018-02-26 20:46 COPYING
drwxr-xr-x 2 7161 31415 312 2018-02-26 20:50 dbug
drwxr-xr-x 2 7161 31415 80 2018-02-26 20:50 Docs
-rw-r--r-- 1 7161 31415 65958 2018-02-26 20:46 Doxyfile-perfschema
drwxr-xr-x 3 7161 31415 213 2018-02-26 20:50 extra
drwxr-xr-x 4 7161 31415 4096 2018-02-26 20:50 include
-rw-r--r-- 1 7161 31415 333 2018-02-26 20:46 INSTALL
drwxr-xr-x 7 7161 31415 4096 2018-02-26 20:50 libevent
drwxr-xr-x 3 7161 31415 224 2018-02-26 20:50 libmysql
drwxr-xr-x 3 7161 31415 204 2018-02-26 20:50 libmysqld
drwxr-xr-x 2 7161 31415 221 2018-02-26 20:50 libservices
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 man
drwxr-xr-x 10 7161 31415 305 2018-02-26 20:50 mysql-test
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 mysys
drwxr-xr-x 2 7161 31415 300 2018-02-26 20:50 mysys_ssl
drwxr-xr-x 9 7161 31415 113 2018-02-26 20:50 packaging
drwxr-xr-x 11 7161 31415 187 2018-02-26 20:50 plugin
-rw-r--r-- 1 7161 31415 2496 2018-02-26 20:46 README
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 regex
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 scripts
drwxr-xr-x 4 7161 31415 12288 2018-02-26 20:50 sql
drwxr-xr-x 5 7161 31415 4096 2018-02-26 20:50 sql-bench
drwxr-xr-x 2 7161 31415 155 2018-02-26 20:50 sql-common
drwxr-xr-x 13 7161 31415 169 2018-02-26 20:50 storage
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 strings
drwxr-xr-x 5 7161 31415 4096 2018-02-26 20:50 support-files
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 tests
drwxr-xr-x 5 7161 31415 70 2018-02-26 20:50 unittest
-rw-r--r-- 1 7161 31415 88 2018-02-26 20:46 VERSION
drwxr-xr-x 3 7161 31415 298 2018-02-26 20:50 vio
drwxr-xr-x 2 7161 31415 32 2018-02-26 20:50 win
drwxr-xr-x 2 7161 31415 4096 2018-02-26 20:50 zlib #2.生成 ./configure --prefix=/usr/local/xxx cmake 或者 gmake
#创建目录
[root@db01 ~]# mkdir /application
[root@db01 ~]# cd mysql-5.6.40/
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
#3.编译
make
#4.安装
make install
[root@db01 application]# ll mysql-5.6.40/
# mysql所有相关命令
drwxr-xr-x 2 root root 4096 2019-11-25 12:19 bin
# 数据存放目录
drwxr-xr-x 3 root root 18 2019-11-25 12:18 data
# mysql初始化命令目录
drwxr-xr-x 2 root root 30 2019-11-25 12:19 scripts
# 额外的文件
drwxr-xr-x 2 root root 136 2019-11-25 12:19 support-files # 5.创建系统用户
[root@db01 scripts]# useradd mysql -s /sbin/nologin -M # 6.做软链接
[root@db01 mysql-5.6.40]# ln -s /application/mysql-5.6.40 /application/mysql # 7.拷贝配置文件(覆盖)
[root@db01 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y # 8.拷贝启动脚本
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld # 9.初始化数据库
[root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data # 10.创建socket文件存放目录
[root@db01 scripts]# mkdir /application/mysql-5.6.40/tmp # 11.授权
[root@db01 scripts]# chown -R mysql.mysql /application/mysql* # 12.启动数据库
[root@db01 scripts]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS! # 13.添加环境变量
[root@db01 scripts]# vim /etc/profile.d/mysql.sh export PATH="/application/mysql/bin:$PATH" # 14.加载环境变量
[root@db01 scripts]# source /etc/profile # 15.使用systemd管理MySQL
[root@db01 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=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000 # 16.使用systemd启动MySQL
[root@db01 scripts]# systemctl start mysqld

mysql二进制安装

# 0.安装依赖
[root@db01 ~]# yum install -y cmake gcc gcc-c++ glibc ncurses-devel autoconf libaio-devel # 1.解压
[root@db02 ~]# tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz # 2.创建程序安装目录
[root@db02 ~]# mkdir /application # 3.将MySQL程序移动到安装目录
[root@db02 ~]# mv mysql-5.6.40-linux-glibc2.12-x86_64 /application/mysql-5.6.40 # 4.做软链接
[root@db02 ~]# ln -s /application/mysql-5.6.40 /application/mysql # 5.创建系统用户
[root@db02 ~]# useradd mysql -s /sbin/nologin -M # 6.拷贝配置文件
[root@db02 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y # 7.拷贝启动脚本
[root@db02 support-files]# cp mysql.server /etc/init.d/mysqld # 8.做初始化
[root@db02 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data # 9.修改MySQL启动脚本和程序
[root@db02 scripts]# sed -i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe # 10.添加一个环境变量
[root@db02 scripts]# vim /etc/profile.d/mysql.sh
export PATH="/application/mysql/bin:$PATH" # 11.加载环境变量
[root@db02 scripts]# source /etc/profile

用system管理mysql

 vim /usr/lib/systemd/system/mysqld.service 							#先关闭mysql    /etc/init.d/mysqld  stop
[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=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
vim /etc/my.cnf
[mysqld]
basedir = /application/mysql
datadir = /application/mysql/data
systemctl start mysql #有的识别mysql ,有的识别mysqld

第一章:mysql的介绍与安装的更多相关文章

  1. 第1 章MySQL 基本介绍

    第 1 章 MySQL 基本介绍   前言: 作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了.但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介 ...

  2. MySQL性能调优与架构设计——第1章 MySQL 基本介绍

    第1章 MySQL 基本介绍 前言:作为最为流行的开源数据库软件之一, MySQL 数据库软件已经是广为人知了. 但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍.主 ...

  3. [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍

    注:为了看上去比较清晰这里只转载了中文 原地址:  [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍 本章将引导您完成安装和设置开发环境,然后你就可 ...

  4. Mysql数据库介绍、安装和配置文件

    Mysql数据库介绍.安装和配置文件 MySQL数据库介绍 mysql是开源关系型数据库,遵循GPL协议. mysql的特点是性能卓越且服务稳定,开源,无版本限制,成本低,单进程多线程,多用户,基于C ...

  5. 深入Java虚拟机读书笔记第一章Java体系结构介绍

    第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了 ...

  6. Ionic 入门与实战之第一章:Ionic 介绍与相关学习资源

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第一章,主要对 Ionic 的概念.发展历程.适配的移动平台等知识进行了介绍,并分享了 Ionic 相关的学习资源. 原文发表于我的技 ...

  7. 第一章 : Android Studio 介绍 [Learn Android Studio 汉化教程]

    摘自:http://ask.android-studio.org/?/question/789,为便于学习重新整理.. 本章将引导您完成安装和设置开发环境,然后你就可以跟随本书的例子和课程学习. 首先 ...

  8. 数据库---mysql的介绍和安装

    MySQL数据库 一.简介: mysql是数据库管理软件:套接字:服务端,客户端 支持并发:操作得是共享得数据 处理锁,数据安全,性能 用别人得软件,得照着别人得规范,组织自己得语法规则 二.概述: ...

  9. MySQL管理工具MySQL Utilities — 介绍与安装(1)

    MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆.复制.比较.差异.导出.导入) 复制工具 (安装.配 ...

随机推荐

  1. Vin2008 X64安装.Net Framework1.1

     http://www.iis.net/learn/install/installing-iis-7/how-to-install-aspnet-11-with-iis-on-vista-and- ...

  2. 爬虫(十五):scrapy中的settings详解

    Scrapy设定(settings)提供了定制Scrapy组件的方法.你可以控制包括核心(core),插件(extension),pipeline及spider组件.设定为代码提供了提取以key-va ...

  3. Atcoder Rating System

    来翻译一下官方文档,但是建议看英文原文,本文可能会出现一些错误,只是为了方便自己查阅用的. 对于你的每一场rated比赛,会有一个Performance值\(X_i\),你的rating是\(X_i- ...

  4. arch linux下网易云音乐运行没反应,只能使用root用户运行

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/netease_music_can_not_open 最近打开网易 ...

  5. P1026 统计单词个数——substr

    P1026 统计单词个数 string 基本操作: substr(x,y) x是起始位置,y是长度: 返回的是这一段字符串: 先预处理sum[i][j],表示以i开头,最多的单词数: 从后往前寻找,保 ...

  6. OpenJudge 1.5.14 人口增长问题

    描述 我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人? 输入一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔.输出输出最后的人口数,以亿为单位,保留到小数点后四位.1 & ...

  7. 如何设置xshell代理?

    场景:我想在公司内部用一台服务器A访问客户内网的机器C.在公司和客户之间有一台中间服务器B,我只能先连接到中间服务器,然后通过中间服务器跳转才能到客户C机器. 上面场景的连接策略:A->B-&g ...

  8. 国内Archlinux arm的镜像源

    清华 http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/arch/arch/repo 中科大 http://mirrors.ustc.edu.cn/ar ...

  9. 关于SQLServer 中行列互转的实例说明

    这几天在做一个招标系统中审批模块,其中关于报价信息这块,用到了pivot和unpivot来实现数据的行列互转,下面简单介绍一下,实际案例,便于回忆和记录相关的条件下使用的情况.pivot 与 unpi ...

  10. 我的BO之状态控制

    我的BO 1-我的BO之强类型 2-我的BO之数据保护 3-我的BO之状态控制 4-我的BO之导航属性 MIS常有状态 信息管理系统(MIS)常常有流程,一个流程由多个环节构成,不同的环节的流转通过状 ...