mysql版本详细介绍及安装部署(mysql-5.6)

运维DBA工做内容

  • 初级DBA:
    安装配置,基本使用,基本故障处理
  • 中级DBA:
    体系结构、备份策略涉及,故障恢复,基础高可用的运维(搭建、监控、故障处理、架构演变)、基础优化(索引、执行计划、慢日志)
  • 高级DBA:
    高可用架构(设计、实施、运维)、高性能架构(读写分离,分库、分表,分布式)、总体数据库优化(基于业务的SQL优化)

MySQL学习框架

  1. MySQL简介及部署
  2. MySQL体系结构
  3. MySQL基础管理
  4. SQL应用
  5. Information_schema获取元数据
  6. 索引及执行计划
  7. MySQL存储引擎
  8. MySQL日志管理
  9. MySQL备份与恢复
  10. MySQL主从复制及架构演变
  11. MySQL高可用架构
  12. MySQL高性能架构
  13. MySQL优化
  14. MySQL5.7及8.0高可用新特性

数据库管理系统

什么是数据

数据(data)是事实或观察的结果,是对客观事物的逻辑概括,是用于表示客观事物的未经加工的的原始素材。
数据能够是连续的值,好比声音、图像,称为模拟数据。也能够是离散的,如符号、文字,称为数字数据。
在计算机系统中,数据以二进制信息单元0,1的形式表示。
数据的定义:数据是指对客观事件进行记录并能够鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。
它是可识别的、抽象的符号。

数据库管理系统(Database Management System) (须要了解)

特色:mysql

高效/安全

种类:c++

RDBMS:关系型数据库
NoSQL:非关系型数据库
Alt text

RDBMS与NOSQL (须要熟悉)

  • RDBMS和NoSQL基本特色
  • 产品介绍(熟悉)redis

    1. RDBMS:

种类: Oracle、mysql、mssql(SQL Server)、PG(postgresql)
特色: 以多张二维表的方式来存储,又给多张表创建了必定关系.sql

数据安全性要求较高的应用场景
Alt text
  1. NoSQL:

种类: redis、mongodb、memcache、Hbase、neo4j
特色: 简单,快,适合作缓存数据库mongodb

针对性能要求较高,数据安全性要求不是过高的场景,通常是配合RDBMS使用的产品
Alt text

关系型与非关系型数据库的对比
Alt text数据库

Oracle产品介绍

Oracle:缓存

10g 11g 12c 18c (须要了解)

MySQL:安全

5.6 5.7 8.0 (须要熟悉)
补充:bash

5.6 ----->5.6.38 5.6.38 ,GA6个月以上的版本
5.7 ----->5.7.17版本以上:5.7.18,5.7.20 , GA6个月以上的版本
GA=稳定版本

MySQL获取与安装方式介绍

MySQL官方下载连接服务器

  1. RPM、Yum:

安装方便、安装速度快,没法定制 (须要了解)

  1. 二进制:

不须要安装,解压便可使用,不能定制功能 (须要熟悉)

  1. 编译安装:

可定制,安装慢。(须要熟悉)
4个步骤:

1.解压(tar)
2.生成(./configure)
3.编译(make)
4.安装(make install)

5.5以前:./configure make make install
5.5以后:cmake gmake
  1. 先编译,而后制做rpm,制做yum库,而后yum安装.(须要熟悉)

简单、速度快、可定制,比较复杂 制做时间长

  1. 企业选择安装方式
中小企业:以上方式均可以,运维偏向编译,dba偏向选择
大型企业:能够选择第4种安装方式

源码编译安装MySQL

安装前准备

  1. 下载好5.6.38

百度云提取:5.6.38版本
提取码: ht2b

上传到服务器上
  1. 安装依赖包
yum  install  -y  ncurses-devel libaio-devel

安装cmake
代替了以前的./config

yum install cmake -y
  1. 建立用户
useradd -s /sbin/nologin -M mysql
id mysql

建立目录

mkdir -p /application

开始安装mysql-5.6.38

cd /server/tools/
ls -l mysql-5.6.38.tar.gz
# 尽可能去官方下载
  1. 解压压缩包
tar xf mysql-5.6.38.tar.gz
cd mysql-5.6.38
  1. 开始cmake编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/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
  • 编译参数说明
#程序存放位置
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
#数据存放位置
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \
#socket文件存放位置,须要提早建立好tmp文件
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \
#使用utf8字符集
-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 \
#启用zlib库支持(zib、gzib相关)
-DWITH_ZLIB=bundled \
#启用SSL库支持(安全套接层)
-DWITH_SSL=bundled \
#启用本地数据导入支持
-DENABLED_LOCAL_INFILE=1 \
#编译嵌入式服务器支持
-DWITH_EMBEDDED_SERVER=1 \
# mysql5.6支持了google的c++mock框架了,容许下载,不然会安装报错。
-DENABLE_DOWNLOADS=1 \
#禁用debug(默认为禁用)
-DWITH_DEBUG=0
  • cmake干了什么?

一、作了些预配置
二、影响了编译后的程序(编译过程会将cmake指定的配置信息硬编码到程序文件中)

mysqld
mysql
mysql_install_db
mysqldump
mysqladmin
mysqld_safe
等。
  • 什么是一套完整的数据库管理系统?

从文件角度来说:

软件部分------>/application/mysql-5.6.38 #软件安装部分
数据部分------>/application/mysql/data #数据存放目录,使用前须要使用 mysql_install_db初始化,
  • 生产环境中如何升级(了解):

以5.7.20为例

一、装新的软件5.7.20
二、软链接
三、升级数据
注:生产中通常选择迁移升级的方式(本身总结)
在升级的的时候注意要作好备份,有回退方案
  1. 开始make安装
make && make install
  • 作一个软链接
ln -s /application/mysql-5.6.38/ /application/mysql
  • 进入目录
cd /application/mysql/support-files
  • 拷贝启动脚本到init.d
cp mysql.server /etc/init.d/mysqld

#受权
chmod  700 /etc/init.d/mysqld
  • 拷贝配置文件
cp my-default.cnf /etc/my.cnf
  • 受权
chown -R mysql.mysql /application/mysql-5.6.38/data/
  • 给软链接也受权
chown -R mysql.mysql /application/mysql
  • 给socket目录受权
chown -R mysql.mysql /application/mysql-5.6.38/
  • 初始化
cd /application/mysql/scripts
./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
  • 建立tmp目录存放socket文件
mkdir -p /application/mysql/tmp
  • 增长变量
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
  • 启动
/etc/init.d/mysqld start
  • 查看是否启动成功
#端口
netstat -lntup |grep 330
#进程
ps -ef|grep mysql
  • 设置root密码
mysqladmin password 123456
#或者
mysqladmin -uroot -p password 123456
Enter password:#旧密码
相关文章
相关标签/搜索