1.IT 职业素养
##1 人品
责任-----权利
##心灵鸡汤
不要怕成功的门很拥挤,很多人在路上就放弃了.
--oldguo
##2 严谨
数据库修改\删除类的命令时,需要再三考虑,而且要有理论或者实践的支撑,需要谨慎、谨慎、再谨慎!
##3 请收起你的好奇心! ! !
#注意规范:
脱裤?华住网(ip root 密码),"脱敏"!!!
学会保护自己
##4 细心
把最简单的事情做的最飘亮,最专业。
##5 心态
别惹事,出事别怕事
##6 熟悉操作系统
##7 熟悉公司业务
#业务:
产品的功能
用户的行为(热功能,热数据)
##8.熟悉行业
熟悉行业发展趋势
版本
数据库产品类型
https://db-engines.com/en/ranking
参加线下的数据库大会
##9.喜欢数据库
体验最重要
2.数据库产品介绍
2.1 什么是数据库
数据就是一种符号,记录人类认为有价值的东西,例如图片、视频、文字、表格等
从计算机角度来看,就是二进制、16进制的文件
2.2 DBMS 数据库管理系统
##1.RDNMS:关系型数据库管理系统
二维表结构,有清楚的行列结构,提供丰富的查询功能,高一致性,性能较差
适用数据安全要求较高的场景
##2.NoSQL:无结构化存储
key volume键值存储或jeon格式,性能较高
适用于性能要求较高,安全性要求不是太高的场景,可配合RDBMS使用
##3.NewSQL:新式的关系型数据库管理系统,就是RDBMS+NOSQL的组合
PinCAP TiDB
Aliyun PolarDB + OB
Tencent TDSQL
数据库的产品
2.3 面试题
##1.笔试:介绍你了解过的数据库产品?
RDBMS:MySQL,Oracle,MSSQL,PG
NOSQL:Redis,Memcached,MongoDB,ES
NewSQL:TiDB,PolarDB,TDSQL
##2.面试:你们公司都用了那些数据库产品?
##运维:
MySQL 或者 RDS
##DBA:
MySQL,Redis,MongoDB,ES,Oracle
3.MySQL企业版本选择
##1.mysql社区版本类型
MR|RC:测试开发版
GA:稳定发布版
##2.MySQL:尽量使用双数版
--5.6.34-5.6.42
6.6.36:2017-3.18 GA
--5.7.20-5.7.26
5.7.20:2017-9-13 GA
##3.产品线
1.MySQL:
E: 企业版
C:社区版
5.0 5.1 5.5 5.6 5.7 8.0 9.0
2.mariadb:
5.0 5.1 5.5 10.x
3.percona:和MySQL相似
5.0 5.1 5.5 5.7 8.0
4.MySQL 5.7.26版本二进制版本部署
4.1 系统配置
##1.网络配置
ip,hostname,iptables,Selinux
##2.规划目录
上传软件至:/usr/local
[root@db01 local]# tar xf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
[root@db01 local]# ln -s mysql-8.0.16-linux-glibc2.12-x86_64 mysql8
[root@db01 ~]# mkdir -p /data/mysql/data_3306 #数据路径
[root@db01 ~]# mkdir -p /data/mysql/binlog_3306 #binlog日志路径(日志章节说明)
##3.用户创建
[root@db01 ~]# useradd mysql
##4.授权
[root@db01 local]# chown -R mysql.mysql /usr/local/mysql8 /data
##5.环境变量
[root@db01 local]# vim /etc/profile
#添加:
export PATH=/usr/local/mysql8/bin:$PATH
[root@db01 local]# source /etc/profile
##6.残留处理
[root@db01 bin]# rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@db01 bin]# yum remove mariadb-libs -y
##7.依赖包安装
[root@db01 bin]# rpm -qa |grep libaio-devel
[root@db01 bin]# yum install -y libaio-devel
4.2 数据初始化(建系统库)
[root@db01 data_3306]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql/data_3306
4.3 配置文件准备
[root@db01 data_3306]# cat > /etc/my.cnf <<EOF
[mysqld]
user=mysql
port=3306
basedir=/usr/local/mysql8
datadir=/data/mysql/data_3306
server_id=6
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF
4.4 准备启动脚本
[root@db01 support-files]# cd /usr/local/mysql8/support-files
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
[root@db01 ~]# chkconfig --add mysqld
[root@db01 ~]# systemctl start mysqld
[root@db01 ~]# mysql
[root@db01 ~]# systemctl restart mysqld
清空8.0环境,部署MySQL5.7
pkill mysqld
rm -rf /data/mysql/data_3306/*
chkconfig --del mysqld
[root@db01 local]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
[root@db01 local]# ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql57
vim /etc/profile
export PATH=/usr/local/mysql57/bin:$PATH
[root@db01 local]# source /etc/profile
[root@db01 local]# chown -R mysql.mysql /usr/local/mysql57
[root@db01 local]# chown -R mysql.mysql /data
[root@db01 data_3306]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql57 --datadir=/data/mysql/data_3306
[root@db01 local]# cd /usr/local/mysql57/support-files/
[root@db01 support-files]# ll
total 24
-rw-r--r-- 1 7161 31415 773 Apr 13 2019 magic
-rwxr-xr-x 1 7161 31415 1061 Apr 13 2019 mysqld_multi.server
-rwxr-xr-x 1 7161 31415 894 Apr 13 2019 mysql-log-rotate
-rwxr-xr-x 1 7161 31415 10576 Apr 13 2019 mysql.server
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
cp: overwrite ‘/etc/init.d/mysqld’? y
[root@db01 support-files]# chkconfig --add mysqld
[root@db01 support-files]# systemctl start mysqld