mysql版本详细介绍及安装部署(mysql-5.6)
运维DBA工作内容
- 初级DBA:
安装配置,基本使用,基本故障处理 - 中级DBA:
体系结构、备份策略涉及,故障恢复,基础高可用的运维(搭建、监控、故障处理、架构演变)、基础优化(索引、执行计划、慢日志) - 高级DBA:
高可用架构(设计、实施、运维)、高性能架构(读写分离,分库、分表,分布式)、整体数据库优化(基于业务的SQL优化)
MySQL学习框架
- MySQL简介及部署
- MySQL体系结构
- MySQL基础管理
- SQL应用
- Information_schema获取元数据
- 索引及执行计划
- MySQL存储引擎
- MySQL日志管理
- MySQL备份与恢复
- MySQL主从复制及架构演变
- MySQL高可用架构
- MySQL高性能架构
- MySQL优化
- MySQL5.7及8.0高可用新特性
数据库管理系统
什么是数据
数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。
数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。
在计算机系统中,数据以二进制信息单元0,1的形式表示。
数据的定义:数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。
它是可识别的、抽象的符号。
数据库管理系统(Database Management System) (需要了解)
特点:
高效/安全
种类:
RDBMS:关系型数据库
NoSQL:非关系型数据库
RDBMS与NOSQL (需要熟悉)
- RDBMS和NoSQL基本特点
产品介绍(熟悉)
- RDBMS:
种类: Oracle、mysql、mssql(SQL Server)、PG(postgresql)
特点: 以多张二维表的方式来存储,又给多张表建立了一定关系.数据安全性要求较高的应用场景
- NoSQL:
种类: redis、mongodb、memcache、Hbase、neo4j
特点: 简单,快,适合做缓存数据库针对性能要求较高,数据安全性要求不是太高的场景,一般是配合RDBMS使用的产品
关系型与非关系型数据库的对比
Oracle产品介绍
Oracle:
10g 11g 12c 18c (需要了解)
MySQL:
5.6 5.7 8.0
(需要熟悉)
补充:5.6 ----->5.6.38 5.6.38 ,GA6个月以上的版本
5.7 ----->5.7.17版本以上:5.7.18,5.7.20 , GA6个月以上的版本
GA=稳定版本
MySQL获取与安装方式介绍
- RPM、Yum:
安装方便、安装速度快,无法定制 (需要了解)
- 二进制:
不需要安装,解压即可使用,不能定制功能 (需要熟悉)
- 编译安装:
可定制,安装慢。(需要熟悉)
4个步骤:
1.解压(tar)
2.生成(./configure)
3.编译(make)
4.安装(make install)5.5之前:./configure make make install
5.5之后:cmake gmake
- 先编译,然后制作rpm,制作yum库,然后yum安装.
(需要熟悉)
简单、速度快、可定制,比较复杂 制作时间长
- 企业选择安装方式
中小企业:以上方式都可以,运维偏向编译,dba偏向选择
大型企业:可以选择第4种安装方式
源码编译安装MySQL
安装前准备
- 下载好5.6.38
百度云提取:5.6.38版本
提取码: ht2b
上传到服务器上
- 安装依赖包
yum install -y ncurses-devel libaio-devel
安装cmake代替了之前的./config
yum install cmake -y
- 创建用户
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 # 尽量去官方下载
- 解压压缩包
tar xf mysql-5.6.38.tar.gz cd mysql-5.6.38
- 开始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干了什么?
1、做了些预配置
2、影响了编译后的程序(编译过程会将cmake指定的配置信息硬编码到程序文件中)mysqld mysql mysql_install_db mysqldump mysqladmin mysqld_safe 等。
- 什么是一套完整的数据库管理系统?
从文件角度来讲:
软件部分------>/application/mysql-5.6.38 #软件安装部分
数据部分------>/application/mysql/data #数据存放目录,使用前需要使用mysql_install_db
初始化,
- 生产环境中如何升级(了解):
以5.7.20为例
1、装新的软件5.7.20
2、软连接
3、升级数据
注:生产中一般选择迁移升级的方式(自己总结)
在升级的的时候注意要做好备份,有回退方案
- 开始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:#旧密码
相关推荐
ribavnu 2020-11-16
要啥自行车一把梭 2020-11-12
vitasfly 2020-11-12
康慧欣 2020-09-10
liuweiq 2020-09-09
暗夜之城 2020-11-11
emmm00 2020-11-17
王艺强 2020-11-17
aydh 2020-11-12
世樹 2020-11-11
zry 2020-11-11
URML 2020-11-11
spurity 2020-11-10
yifangs 2020-10-13
Andrea0 2020-09-18
Ida 2020-09-16
ltd00 2020-09-12
tufeiax 2020-09-03
xjd0 2020-09-10
greatboylc 2020-09-10