2020-02-23 环境部署

第一章 MySQL 大纲介绍

1、官方定义的MySQL  DBA工作内容

(1)运维DBA初级:各版本、各平台安装搭建、升级中级:体系结构原理、基础管理(启动关闭、初始化配置文件管理、多实例管理、用户权限管理、基本SQL(增删改查))、    日志管理、备份与恢复、主从复制(构建、状态监控) 高级:高可用(MGR、InnoDB Cluster)、高性能(优化)(2)开发DBA懂至少一门开发语言 :JAVA、Python基本SQL语句深入学习(增删改查)、数据库结构设计(建模)高级SQL:存储过程、函数、触发器、视图、事件

2、老男孩MySQL课程-2019-03月-中级DBA要求(80%以上)

(1)MySQL 5.7 安装部署(二进制)*****    编译自己扩展(2)MySQL升级步骤扩展 ***(3)MySQL5.7 体系结构原理 *****(4)MySQL基础管理  *****(5)基础SQL语句使用 *****(6)SQL高级应用  ***(7)Information_schema获取元数据 ***(8)索引、执行计划管理(基础优化)*****(9)存储引擎  *****(10)日志管理 *****(11)备份与恢复 ******(12)主从复制及架构演变 ******(13)传统的高可用及读写分离(MHA&Atlas)****(14)传统分布式架构设计与实现-扩展(Mycat--->DBLE,DRDS)**(15)MySQL 5.7 高可用及分布式架构-扩展(MGR,InnoDB Cluster)***(16)MySQL优化(安全、性能) ****(17)MySQL 监控(zabbix、Open-falcon)    ****(18)RDS(阿里云课程)*****额外要会的:    Redis    mongodb了解:PG    Oracle

3、DBA职业素养

3.1、人品

责任-----权利

3.2

3.2.1、严谨

磁带库----->备份软件-----17楼数据库修改\删除类的命令时 再三考虑,而且要有理论或者实践的支撑

3.2.2 请收起你的好奇心!!!!!

注意规范:脱库? 华住网(ip root 密码),“脱敏”!!!!!。学会保护自己!!!

3.3、细心

把最简单的事情做的最漂亮,最专业。不要怕成功的门很拥挤,因为很多人在半路就已经放弃了.                                          ----oldguo

3.4、心态

别惹事,出事别怕事

3.5、熟悉操作系统(精通)

3.6、熟悉公司业务

业务?    产品的功能    用户的行为(热功能,热数据)

3.7、熟悉行业

熟悉行业发展趋势版本数据库产品类型https://db-engines.com/en/ranking

3.8、喜欢数据库

体验很重要

第二章: MySQL 介绍和安装

1、什么是数据?

数据:文字、图片、视频。。。人类认知的数据表现方式计算机:二进制、16进制的机器语言基于数据的重要性和复杂性的不同,我们可能有不同的管理方式。哪些数据是适合存储到数据库的呢?重要性比较高的关系较复杂的数据

2、什么是数据库管理系统(DBMS)?

RDBMS: 关系型数据库管理系统比较适合于,安全级别要求高的数据以及关系较复杂的数据NoSQL:非关系型数据库管理系统适合于高性能存取数据,一般是配合RDBMS进行使用的针对大数据处理分析,分布式架构更加擅长

3、数据库管理系统种类

RDBMS  :MySQL 、Oracle、MSSQL(SQLServer)、PGNoSQL:NotOnlySQL键-值(key-value):Redis,memcached文档(document):Mongodb

4、MySQL简介及产品线

4.1 MySQL行业主流版本:

5.6      5.7        8.0(现在开始研究新特性)

4.2 企业版本选择(MySQL分支版本),笔试题

Oracle:      MySQL官方版红帽  :      MariaDBPercona:      PerconaDB

4.3 版本选择建议要上新环境

1.一般选择官方主流版本:5.6,5.7 2.GA(稳定发布版)3.6-12月的产品版本

4.4 课程版本:

5.7.20  二进制安装,其他安装方式自己扩展

4.5 如何获取MySQL软件

企业版:Enterprise,互联网行业一般不选择.社区版本:选择源码包:source code    .tar.gz  通用二进制面试题:你们公司用什么版本数据库? 具体什么小版本号?5.6.20 5.6.34 5.6.36  5.6.38  5.6.40    5.7.18  5.7.20  5.7.22

5、MySQL二进制安装

5.1.创建软件目录:

[root@db01~]# mkdir-p/app/上传软件到此目录

5.2. 解压并改名为mysql

[root@db01app]# mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql[root@db01app]# ls -l /app/mysql/total36drwxr-xr-x2root root4096Mar414:55bin-rw-r--r--171613141517987Sep132017COPYINGdrwxr-xr-x2root root55Mar414:55docsdrwxr-xr-x3root root4096Mar414:55includedrwxr-xr-x5root root229Mar414:55libdrwxr-xr-x4root root30Mar414:55man-rw-r--r--17161314152478Sep132017READMEdrwxr-xr-x28root root4096Mar414:55sharedrwxr-xr-x2root root90Mar414:55support-files

修改环境变量:

vim /etc/profileexport PATH=/app/mysql/bin:$PATH[root@db01 bin]# source /etc/profile

5.3. 建立mysql用户和组(如果已有可忽略)

useradd mysql

5.4. 创建相关目录并修改权限

mkdir/data/mysql-p  chown-R mysql.mysql/app/*

chown -R mysql.mysql /data/*

5.5 初始化数据(建库)

方法一:

初始化数据,初始化管理员的临时密码mysqld--initialize--user=mysql--basedir=/app/mysql--datadir=/data/mysql2019-04-18T03:21:53.381108Z0[Warning]TIMESTAMPwithimplicitDEFAULTvalueisdeprecated.Pleaseuse--explicit_defaults_for_timestamp server option(see documentationformore details).2019-04-18T03:21:54.583415Z0[Warning]InnoDB:Newlog files created,LSN=457902019-04-18T03:21:54.697859Z0[Warning]InnoDB:Creatingforeign key constraint system tables.2019-04-18T03:21:54.760821Z0[Warning]NoexistingUUIDhas been found,so we assume thatthisisthe first time thatthisserver has been started.GeneratinganewUUID:1daa0c57-6189-11e9-bc80-000c294234c8.2019-04-18T03:21:54.770856Z0[Warning]Gtidtableisnot ready to be used.Table'mysql.gtid_executed'cannot be opened.2019-04-18T03:21:54.772016Z1[Note]Atemporary passwordisgeneratedforroot@localhost:9LN.fh_Ea#uU

image.png

报错原因: Linux系统中缺少libaio-devel 软件包解决:yum install -y libaio-devel

need-to-insert-img

image.png

报错原因:在/data/mysql 存在文件解决:\rm-rf/data/mysql/*

新特性重要说明:

5.7开始,MySQL加入了全新的 密码的安全机制:

1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)

2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合

3.密码过期时间180天

方法二:初始化数据,初始化管理员的密码为空\rm-rf/data/mysql/*[root@db01~]# mysqld --initialize-insecure  --user=mysql --basedir=/app/mysql --datadir=/data/mysql2019-04-18T03:37:43.146018Z0[Warning]TIMESTAMPwith implicitDEFAULTvalue is deprecated.Pleaseuse--explicit_defaults_for_timestamp server option(see documentationformore details).2019-04-18T03:37:43.892132Z0[Warning]InnoDB:Newlog files created,LSN=457902019-04-18T03:37:43.970412Z0[Warning]InnoDB:Creating foreign key constraint system tables.2019-04-18T03:37:44.029490Z0[Warning]No existingUUIDhas been found,so we assume that this is the first time that this server has been started.Generating anewUUID:5378f3b3-618b-11e9-9164-000c294234c8.2019-04-18T03:37:44.041469Z0[Warning]Gtid table is not ready to be used.Table'mysql.gtid_executed'cannot be opened.2019-04-18T03:37:44.042348Z1[Warning]root@localhost is created with anemptypassword!Please consider switching off the--initialize-insecure option.[root@db01~]# [root@db01~]# cd /data/mysql/[root@db01 mysql]# lltotal110628-rw-r-----1mysql mysql56Apr1811:37auto.cnf-rw-r-----1mysql mysql419Apr1811:37ib_buffer_pool-rw-r-----1mysql mysql12582912Apr1811:37ibdata1-rw-r-----1mysql mysql50331648Apr1811:37ib_logfile0-rw-r-----1mysql mysql50331648Apr1811:37ib_logfile1drwxr-x---2mysql mysql4096Apr1811:37mysqldrwxr-x---2mysql mysql8192Apr1811:37performance_schemadrwxr-x---2mysql mysql8192Apr1811:37sys[root@db01 mysql]#

注释:5.6初始化的区别

/application/mysql/scripts/mysql_install_db--user=mysql--datadir=/application/mysql/data--basedir=/application/mysql

5.6 书写默认配置文件

vim/etc/my.cnf[mysqld]user=mysqlbasedir=/app/mysqldatadir=/data/mysqlserver_id=6port=3306socket=/tmp/mysql.sock[mysql]socket=/tmp/mysql.sockprompt=3306[\\d]>

5.7 配置启动脚本:

[root@db01 mysql]# cd/app/mysql/support-files[root@db01 support-files]#./mysql.server startStartingMySQL.Loggingto'/data/mysql/db01.err'.SUCCESS!cp mysql.server/etc/init.d/mysqld

5.8 使用systemd管理mysql

vim/etc/systemd/system/mysqld.service[Unit]Description=MySQLServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlExecStart=/app/mysql/bin/mysqld--defaults-file=/etc/my.cnfLimitNOFILE=5000

注意:将原来模式启动mysqld先关闭,然后再用systemd管理。

systemctl  start/stop/restart/status  mysqld

6. 安装后的简单管理

[root@db01~]# mysqladmin -uroot -p password 123Enterpassword:mysqladmin:[Warning] Using a password on the command line interface can be insecure.Warning:Since password will be sent to server in plain text,use ssl connection to ensure password safety.5.6版本:select user,password,host from mysql.user;5.7 中用户基本信息select user,authentication_string,host from mysql.user;desc  mysql.user;

小结:

1.版本 (主流版本的GA时间了解一下)

5.6 5.7 5.6.38  5.7.20 20170913(1)初始化方式变了mysql_install_db  mysqld  --initialize-insecure(2)用户安全12位1804种复杂度(3)密码字段authentication_strings

2.安装方法:

二进制源码yum

3.建库(初始化数据库)

mysqld--intialize-insecure--user=mysql--basedir=/app/mysql--datadir=/data/mysql

4.简易的配制文件/etc/my.cnf

user basedirdatadir server_idportsocket

管理员密码

mysqladmin -uroot -p password xx

作者:wwwoldguocom

链接:https://www.jianshu.com/p/dd7137c4efa5

来源:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(2020-02-23 环境部署)