MySQL---DBA---壹( MySQL简介及安装升级)

一. 运维DBA工作内容

1.1 初级DBA

  • 安装配置
  • 数据库基本使用
  • 基本故障处理

1.2 中级DBA

  • 体系结构
  • 备份策略设计
  • 故障恢复
  • 基础高可用的运维(搭建、监控、故障处理、架构演变)
  • 基础优化(索引、执行计划、慢日志)

1.3 高级DBA

  • 高可用架构(设计、实施、运维)
  • 高性能架构(读写分离、分库、分表、分布式)
  • 整体数据库库优化(基于业务的SQL优化)

二. DBA运维人员的职业素养

  • 人品
  • 严谨
  • 细心
  • 心态
  • 熟悉操作系统
  • 熟悉业务(产品功能/用户行为)
  • 熟悉行业
  • 喜欢数据库

三. 数据库管理系统

3.1 数据

数据是指对客观事件进行记录并可以鉴别的符号,是对客观事务的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。他是可识别的、抽象的符号。

3.2 数据库管理系统

为了更好地存储数据,管理数据

3.3 数据库管理系统类型

  • RDBMS(关系型数据库)
  • NOSQL(非关系型数据库)
  • NewSQL(分布式数据库)

3.4 笔试(列举熟悉的数据库产品)

RDBMS

Oracle,MySQL,mssql(SQL Server),PG(postgresql)
数据安全性较高的应用场景
二维表的形式组织存储数据(有清楚的行列结构)

NOSQL: redis键值

name:zhangsan
mongodb(文档)
    json    {
                id:1
                name:zhangsan
            }

例如有memcache,ES,Hbase,neo4j

NewSQL

3.5 面试

3.5.1 流程

问:你们公司用了哪些数据库
答:MySQL,redis......(具体情况具体分析)
说出你公司应用的数据库版本
说出你公司的数据库架构
说出你公司的备份策略
以及公司遇到的故障与性能问题,怎么解决的
最后可以补充其他

3.5.2 举例说明

(1)为什么选择MySQL新老版本
5.6.34   5.6.36   5.6.38
答:当前版本应用了二年了,没有出现由于版本原因造成的不稳定情况。升级是由风险的,所以暂时没有升级
5.7.18   5.7.20
答:公式的新项目使用了5.7.20这个版本的高可用架构(MGR)

四. MySQL获取与安装方式介绍

4.1 安装方式

  • (1)RPM、Yum(Red Hat Enterprise Linux/Oracle Linux):安装方便,安装速度快,无法定制
  • (2)二进制(Linux Generic):不需要安装,解压即可使用,不能定制功能
  • (3)编译安装/源码安装(Source Code):可定制,安装man
    5.5版本之前:./configure , make , make install
    5.5版本之后:cmake , gmake

先编译,然后制作rpm,制作yum库,然后yum安装
这种方法简单、速度快、可定制,就是比较复杂制作时间长

4.2 企业选择安装方式

  • (1) 中小企业:以上方式都可以,运维偏向编译,DBA偏向二进制
  • (2)大型企业:可以选择制作yum库的安装方式

4.3 MySQL软件分支

  • (1)Oracle MySQL
  • (2)MariaDB
  • (3)PerconaDB
  • (4)RDS MySQL,腾讯DB)云数据库

4.3 MySQL的企业版本选择

  • (1)3.6.1:企业主流版本
  • (2)5.6版:(5.6.34, 5.6.36, 5.6.38, 5.6.40)
  • (3)5.7版:(5.7.18, 5.7.19, 5.7.20, 5.7.24)
    注意:MySQL RC、apl、beta版本都不要选,一定要选择GA版(稳定版)

4.4 关于版本的GA时间

  • 尽量记住两个版本的具体GA时间(面试用)
  • 5.6.38与5.7.20这两个版本的GA时间都是2017.09.13
  • 企业版本新环境建议5.7版,GA时间在6---12月之间的版本,偶数版
  • 官方网站路径(dev.mysql.com与support.oracle.com)
    https://downloads.mysql.com/archives/community/

五. MySQL 5.7.26版本二进制规划与部署

5.1 部署规划

5.1.1 硬件环境

  • DELL , R720 , CPU28 , MEM128G , RAID108*600G SAS
    5.1.2 OS规划
  • CentOS7.6.1810 , kernel , 3.10.0-957.el7.x86_64
    5.1.3 网络规划
  • eth0:10.0.0.51/24 hostname:db01
    5.1.4 存储规划
  • /dev/sdb 20G

5.2 实例实施过程

(1)mkdir /application   #创建软件存放目录
(2)mkdir /data/3306/data -p   #创建数据存放目录
(3)useradd -s /sbin/nologin -M mysql   #创建数据库实例用户
(4)上传二进制软件包到软件存放目录
(5)tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz   #进行解压
(6)mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql   #对解压后的目录进行重命名
(7)rpm -qa|grep maria   #进行查询安装软件
- mariadb-libs-5.5.60-1.el7_5.x86_64
(8)yum  remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y   #若出现上述包裹则进行移除
(9)vim /etc/profile   #修改环境变量,增加下方一行
- export PATH=/application/mysql/bin:$PATH
(10)mysql -V   #查询目前数据库版本
**yum install -y libaio-devel下载初始化支持软件**
(11)mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data   #数据初始化,生成数据到数据存放目录
(12)cat >/etc/my.cnf <
EOF
(13)chown -R mysql.mysql /data/* /application/mysql/*   #修改上诉所有目录权限为用户mysql
(14)cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld   #复制脚本启动文件
(15)/etc/init.d/mysqld start   #利用复制过来的启动路径启动数据库

5.3 使用systemd管理数据库mysql的启动

cat > /etc/systemd/system/mysqld.service <

注意:将原来模式启动的数据库先关闭,再用systemd管理

5.4 数据库简单操作命令

1. 设置密码

  • mysqladmin -uroot -p password 072411命令之后输入老密码,之前没有所以不用输入
    2. 测试登录
  • mysql -uroot -p之后输入密码072411即可

六. MySQL 5.7版本编译安装

七. 源码编译安装MySQL

八. 同主机版本升级

8.1 具体过程

第一:备份原库数据

  • 后期利用专门的备份工具进行备份
    第二:安装新版本软件(8.0版)到新位置
  • mv mysql-8.0.16-linux-glibc2.12-x86_64 mysql8
    第三:停止运行原库
  • systemctl stop mysqld
    第四:修改环境变量(/etc/profile)
  • export PATH=/application/mysql8/bin:$PATH
    第五:进行激活环境变量
  • source /etc/profile
    第六:查看当前mysql数据库版本
  • mysql -V
    第七:修改配置文件(/etc/my.cnf)
[mysqld]
user=mysql
#basedir=/application/mysql
basedir=/application/mysql8
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=oldguo[\\d]>

第八:修改systemd管理脚本

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://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/mysql8/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

第九:启动数据库

  • systemctl start mysqld
    报错
    Warning: mysqld.service changed on disk. Run 'systemctl daemon-reload' to reload units.
执行一遍:systemctl daemon-reload即可
再systemctl start mysqld

第十:升级数据

  • mysql_upgrade
    此步骤在8.0以前版本需要进行,8.0版本则不需要

你可能感兴趣的:(MySQL---DBA---壹( MySQL简介及安装升级))