第一章:mysql的介绍与安装
什么是数据库管理系统
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 章MySQL 基本介绍
第 1 章 MySQL 基本介绍 前言: 作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了.但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介 ...
- MySQL性能调优与架构设计——第1章 MySQL 基本介绍
第1章 MySQL 基本介绍 前言:作为最为流行的开源数据库软件之一, MySQL 数据库软件已经是广为人知了. 但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍.主 ...
- [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍
注:为了看上去比较清晰这里只转载了中文 原地址: [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍 本章将引导您完成安装和设置开发环境,然后你就可 ...
- Mysql数据库介绍、安装和配置文件
Mysql数据库介绍.安装和配置文件 MySQL数据库介绍 mysql是开源关系型数据库,遵循GPL协议. mysql的特点是性能卓越且服务稳定,开源,无版本限制,成本低,单进程多线程,多用户,基于C ...
- 深入Java虚拟机读书笔记第一章Java体系结构介绍
第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了 ...
- Ionic 入门与实战之第一章:Ionic 介绍与相关学习资源
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第一章,主要对 Ionic 的概念.发展历程.适配的移动平台等知识进行了介绍,并分享了 Ionic 相关的学习资源. 原文发表于我的技 ...
- 第一章 : Android Studio 介绍 [Learn Android Studio 汉化教程]
摘自:http://ask.android-studio.org/?/question/789,为便于学习重新整理.. 本章将引导您完成安装和设置开发环境,然后你就可以跟随本书的例子和课程学习. 首先 ...
- 数据库---mysql的介绍和安装
MySQL数据库 一.简介: mysql是数据库管理软件:套接字:服务端,客户端 支持并发:操作得是共享得数据 处理锁,数据安全,性能 用别人得软件,得照着别人得规范,组织自己得语法规则 二.概述: ...
- MySQL管理工具MySQL Utilities — 介绍与安装(1)
MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆.复制.比较.差异.导出.导入) 复制工具 (安装.配 ...
随机推荐
- 056_统计/etc/passwd 中 root 出现的次数
#!/bin/bash#每读取一行文件内容,即从第 1 列循环到最后 1 列,依次判断是否包含 root 关键词,如果包含则 x++awk -F: '{i=1;while(i<=NF){if($ ...
- Jquery tabs
官网 http://api.jqueryui.com/tabs/ 必须通过了后台验证tab1的信息后才允许进入tab2 var passed=false; $("#tabs ...
- P2734 游戏 A Game
题目背景 有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的任意一端取一个数,取数后该数字被去掉并累加到本玩家的得分中 ...
- [转]C++ 模板 静态成员 定义(实例化)
提出问题: 如果有这样一个模板: template <typename T> class Test{ public: static std::string info; }; 对于以下若干种 ...
- 【概率论】5-2:伯努利和二项分布(The Bernoulli and Binomial Distributions)
title: [概率论]5-2:伯努利和二项分布(The Bernoulli and Binomial Distributions) categories: - Mathematic - Probab ...
- 欢迎使用CSDN的markdown编辑器
以下是蒻鞫第一次打开CSDN-markdown编译器的温馨提示,感觉CSDN好贴心,不作任何用途,仅为纪念,若存在违法侵权行为,请联系留言,立即删除. List item 这里写 欢迎使用Markdo ...
- 有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
答:PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告 Pylint是另外一个工具可以进行codingstandard检查
- OpenJudge 1.5.36:计算多项式的值
描述 假定多项式的形式为xn+xn-1+…+x2+x+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值. 输入输入仅一行,包括x和n,用单个空格隔开.x在float范围内,n <= ...
- zabbix (6) 为主机添加监控项,触发器,动作
先了解一下zabbix的相关概念 监控项(iterms):一个具体的指标,比如某个人的体重. 键(key):通过定义(自定义或者zabbix自带)的key获取相应指标的具体值,比如这个人的体重50斤 ...
- 2018-2019-2 20165222《网络对抗技术》Exp9 Web安全基础
1.实践过程记录 1.字符串型注入. 2.整数型注入 3.注入语句查看其他内容 4.xss是一种漏洞,这种漏洞允许用户输入脚本并且浏览器提交的时候不加编码.这种东西是最为流行并且有害的web应用的问题 ...