美文网首页
MySQL-lesson-01- 数据库简介和安装

MySQL-lesson-01- 数据库简介和安装

作者: 古巷挂青灯 | 来源:发表于2019-08-05 11:19 被阅读0次

1.DBA运维主要干什么?

(1)初级运维======安装,搭建。
(2)中级运维======MySQL数据库管理员:用户权限,索引管理,存储引擎,备份恢复,主从,故障处理。
(3)高级运维======性能优化,集群高可用。

2.课程主要讲解

1.mysql的简介和安装          必会
2.MySQL体系的结构和管理·      熟悉 
3.MySQL的SQL语句             熟悉 
4.MySQL基础优化及执行计划     必会 
5.MySQL的存储引擎            熟悉 
6.MySQL的日志管理            必会 
7.MySQL的备份恢复            必会 
8.MySQL的主从复制            必会 
9.MySQL的主从复制架构演变-高可用及读写分离      熟悉 
10.MySQL的主从复制架构演变-分布式架构          了解 
11.MySQL整体优化                      熟悉 
12.NoSOL-Redis缓存技术                熟悉 
13.NoSOL-MongoDB分布式数据库技术      熟悉

3.DBA职业素养

1.个人相关: 
(1)人品:多给自己留条路,不要把数据轻易交给别人 
(2)严谨:规范操作,要有理论支持或者实践检验 
(3)细心: 做每一步都要思考,尤其是变更类的操作,多思考 
(4)心态:要有一个良好的心态,能顶住压力
2.技术相关: (1)熟悉操作系统
3.熟悉业务(开发) 稍微懂一些开发
 什么是业务 
(1)产品的功能, 
(2)用户的行为(热功能,热数据)
4.MySQL的企业版本选择 
(1)规范:GA 版本:稳定的发布版本 MySQL RC apl beta 不要选择,一定选择的是GA 
(2)版本类型 
E: 企业版 收费版本 SR(服务)大型企业 偏传统企业 
C :社区版本 开源版本 互联网企业选择 
(3)企业版本选择 一般新上环境 会选择GA6-12月版本 
(4)企业主流版本
注:要熟悉各个版本的安装时间 
5.6 
版本: 5.6.34 5.6.36 5.6.38 5.6.40 5.7 
版本: 5.7.18 5.7.19 5.7.20 5.7.24

4.面试提问

1.你们公司用什么版本数据库 
(1)5.6.38 
(2)5.7.20 2.你们公司怎么还在用这么低的版本 
我们这个业务已经运行了4年了,一直用的5.6的版本,非常稳定,所以说暂时没有打算升级
(3)GA时间间隔漏洞怎么说
 答:刚去公司不到两年,业务交接的时候已经运行两年多啦,我接手的时候版本已经是5.6.38,应该是做过小版本的升级 
(4)我们现在的公司用的是5.7,你能胜任吗?
 能,虽然我们生产一直使用的是5.6,但是我对5.7,8.0的新特性已经足够了解啦,所以我完全能够胜任本公司的工作 
(5)MySQL分支 
Oracle 
MySQL
MariaDB 
PerconaDB RDS 
(6)什么是数据? 
(1) 数据库管理系统(DBMS) RDBMS :关系型 NoSQL :非关系型 NewSQL:分布式型 
(2)笔试 : 请你列举熟悉的数据库产品? 
RDBMS : Oracle ,MySQL ,MSSQL ,PG
 NoSQL : Redis ,Mongo ,ES NewSQL : TiDB (PingCap), Spanner(Google),OceanBase(Alibaba),PolarDB(aliyun) 
(3)面试 : 你们公司用了哪些数据库产品? 
MySQL,Redis,MongoDB,ES 
引出 版本 MySQL 5.7.20 
引出 公司 数据库架构 
引出 公司 备份策略 
引出 公司 遇到的故障和性能问题
5.软件的下载问题

1.软件包类型 
(1)RPM包:rpm -a 
(2)二进制包:(上课版本) 
(3)源码包:C++的源码,需要二次开发的时候,需要做一些统一的配置管理 研究源码
6.数据库的安装:rpm包安装

规划和准备

MySQL 5.7.26 二进制版规划和部署 
1.规划: 
(1)硬件环境 DELL R720 , CPU*2*8,MEM*128G, RAID10*8*600G SAS 
(2)OS Centos 7.6.1810 , kernel 3.10.0-957.el7.x86_64 
(3)网络规划 eth0 : 10.0.0.51/24 Hostname: db01 (4)存储规划 /dev/sdb 20G

第一步:创建软件存放的目录和数据存放的位置

1.创建相关目录 
[root@db01 ~]# mkdir /application ----> 软件的存放目录
[root@db01 /]# mkdir /data/3306/data -p ----> 数据的存放位置
第二步:创建mysql用户
2.创建用户 [root@db01 /]# useradd -s /sbin/nologin -M mysql
第三步:上传软件并解压
3.上传软件并解压处理
 [root@db01 ~]# cd /application/ 上传软件
 解压: 
[root@db01 /application]# tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 
[root@db01 /application]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
第四步:初始化系统数据并设置环境变量
1.数据初始化(创建系统数据) 卸载原系统上的mysql软件,防止冲突
 [root@db01 ~]# rpm -qa|grep maria mariadb-libs-5.5.60-1.el7_5.x86_64
 [root@db01 ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y

2.设置环境变量
[root@db01 ~]# vim /etc/profile 编辑环境变量
export PATH=/application/mysql/bin:$PATH 
[root@db01 ~]# source /etc/profile 生效一下 
[root@db01 ~]# mysql -V 检查 出现版本号就是生效成功 

3.进行初始化数据 
第一种方法:会有密码安全机制
 [root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data 
(1)初始化数据失败
 [root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data 
(1)报错:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 
(2)原因:Linux系统中缺少libaio-devel 软件包,直接yum下载,然后在执行初始化数据的命令即可。 [root@db01 ~]# yum install -y libaio-devel 
[root@db01 ~]# mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql 

新特性重要说明:
       5.7开始,MySQL加入了全新的密码安全机制: 
1.初始化完成后,会生成临时密码文件(显示到屏幕上,同时会往日志中记一份 ) 
2.密码复杂度:长度:超过12位?复杂度:字母混乱组合 
3.密码过期时间180天 


第二种方法 
方法二: 初始化数据,初始化管理员的密码为空
 [root@db01 /data]# rm -rf /data/3306/data/* (因为刚才演示方法一的时候生成的文件,所以要删除,以防止数据混乱,然后在进行初始化数据)
 [root@db01 ~]#mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data 
初始化完数据后查看是否有下面这些文件,如果有这些文件,就成功啦 
[root@db01 ~]# cd /data/mysql/
[root@db01 /data/mysql]# ll 
total 110628
-rw-r----- 1 mysql mysql       56 Jul 28 16:26 auto.cnf
-rw-r----- 1 mysql mysql      419 Jul 28 16:26 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Jul 28 16:26 ibdata1
-rw-r----- 1 mysql mysql 50331648 Jul 28 16:26 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Jul 28 16:26 ib_logfile1
drwxr-x--- 2 mysql mysql     4096 Jul 28 16:26 mysql
drwxr-x--- 2 mysql mysql     8192 Jul 28 16:26 performance_schema
drwxr-x--- 2 mysql mysql     8192 Jul 28 16:26 sys

 初始化数据说明
 mysqld 初始化数据命令 
--initialize-insecure 启用非安全模式进行数据初始化 
--user=mysql 管理的用户 
--basedir=/app/mysql 软件存放的位置 
--datadir=/data/mysql 数据存放的位置 

扩展: 5.6 在初始化的方式 /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3306/data
第五步:书写配置文件,授权数据目录,启动数据库

(1)书写配置文件 
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=oldguo[\\d]>
EOF

(2)准备启动脚本
 # chown -R mysql.mysql /data/* /application/mysql/* 
# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld 

(3)启动数据库
 [root@db01 ~]# /etc/init.d/mysqld start 
Starting MySQL.Logging to '/data/3306/data/db01.err'. 
SUCCESS! 
(1)启动方式,使用systemctl方式启动

cat > /etc/systemd/system/mysqld.service <<EOF
[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/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
 注意:将原来模式启动mysqld先关闭,然后再用systemd管理。 
systemctl start/stop/restart/status mysqld
版本升级

版本升级
 同主机版本升级(扩展)
1.将现有版本的数据进行备份 
数据备份:后面会讲到
2.将需要升级的rpm进行上传,安装8.0软件到新位置,并解压,改名
[root@db01 /application]# mv mysql-8.0.16-linux-glibc2.12-x86_64 mysql8
3.停原库
[root@db01 /application]# systemctl stop mysqld
4.修改已有配置
(1)环境变量
[root@db01 ~]# vim /etc/profile 
export PATH=/application/mysql8/bin:$PATH
[root@db01 ~]# source /etc/profile
[root@db01 ~]# mysql -V

(2)配置文件
[root@db01 ~]# vim /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]>

5.启动脚本
[root@db01 ~]# vim /etc/systemd/system/mysqld.service 
[root@db01 /data/3306/data]# cat  /etc/systemd/system/mysqld.service 
[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/mysql/bin/mysqld --defaults-file=/etc/my.cnf
改动此处,改成下面那行
ExecStart=/application/mysql8/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

6. 升级数据:mysql_upgrade 
8.0以前版本,需要进行数据升级
8.0版本之后不用升级数据,会自动升级
恢复原环境
1.数据降级
2.修改配置文件,启动文件,环境变量
3.然后在进行一个初始化数据
4.然后在进行启动
7.做一些简单的管理操作
[root@db01 ~]# mysqladmin -uroot -p password 123  #改密码也是这一条
[root@db01 ~]# mysql -uroot -p

5.7 以前:
oldguo[mysql]>select user,host ,password from mysql.user;
5.7 以后:
oldguo[mysql]>select user,host ,authentication_string from mysql.user;
```

相关文章

  • MySQL-lesson-01- 数据库简介和安装

    1.DBA运维主要干什么? 2.课程主要讲解 3.DBA职业素养 第一步:创建软件存放的目录和数据存放的位置

  • 20170924 MySQL基础

    数据库简介关系型数据库MySQL安装和使用SQL语言 一、数据库简介 (一)数据库的发展 文件系统:磁盘文件存储数...

  • 在Gentoo安装Wifidog Portal

    简介 这是一个安装数据库和PHP5网络服务器的简略文档 安装PostgreSQL 安装数据库服务器 emerge ...

  • Java学习路线阶段二【数据库技术】

    Oracle基础管理: ①Oracle背景简介,数据库的安装,数据库的用户名和密码,客户端登录数据库服务SQLPL...

  • Oracle数据库基本操作

    Oracle数据库简介 Oracle数据库安装 Oracle数据库基本操作 (select from where...

  • MySQL数据库基础详解(非原创)

    文章大纲 一、数据库简介二、Mysql数据库简介三、Mysql安装与服务启动(Windows版本)四、Mysql图...

  • odoo环境安装

    安装python环境 安装pip工具 安装PostgreSQL数据库 mac传送门,以及简单简介 安装requir...

  • 浅谈MongoDB数据库

    浅谈MongoDB数据库 Java操作MongoDB数据库简介MongoDB 介绍数据库安装MongoDB使用Mo...

  • iwebshop的lamp安装

    一、软件简介 二、安装环境 三、安装软件包并配置数据库,下载php和apache、mariadb包 四、上传iwe...

  • mediawiki的lamp安装

    一、软件简介 二、安装环境 三、安装软件包并配置数据库,下载php和apache、mariadb包 四、上传med...

网友评论

      本文标题:MySQL-lesson-01- 数据库简介和安装

      本文链接:https://www.haomeiwen.com/subject/hfipdctx.html