第1章 DBA职业介绍
1.什么是DBA
数据库管理员
2.DBA分级和职责
初级:
安装配置
基本使用
基本故障处理
中级: 运维在这里就可以
体系结构
备份策略
故障恢复
基础优化(索引,执行计划,慢日志)
高可用架构(搭建,监控,故障处理,架构演变)
高级:
高可用架构(设计,实施,运维)
高性能架构(读写分离,分库,分表,分布式)
整体数据库优化(基于业务的SQL优化)
3.运维对数据库的掌握
基础的SQL语句
MySQL索引及执行计划
MySQL存储引擎
MySQL日志管理
MySQL备份与恢复
MySQL主从复制及架构演变
4.常见数据库产品介绍
关系型数据库: MySQL Oracle
非关系型数据库: Redis MongoDB Elasticsearch
云数据库: RDS
第2章 MySQL版本选择
1.版本选择
https://downloads.mysql.com/archives/
5.5
5.6
5.7 用的最多
8.0
2.安装方法
yum
rpm
编译
二进制包 推荐方法
第3章 MySQL安装部署
1.下载并解压软件
tar zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /opt/




mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28

ln -s mysql-5.7.28 mysql

2.配置环境变量
echo 'PATH=$PATH:/opt/mysql/bin' >> /etc/profile
source /etc/profile
mysql -V

3.清除遗留环境
rpm -qa|grep mariadb
yum remove mariadb-libs -y

rm -rf /etc/my.cnf

4.安装mysql依赖包
yum install -y libaio-devel

5.创建数据目录及mysql普通用户并授权
mkdir /data -p
useradd -s /sbin/nologin -M mysql
chown -R mysql.mysql /data/
chown -R mysql.mysql /opt/mysql*

6.初始化数据库
mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3306/

7.编辑mysql配置文件
cat> /etc/my.cnf <<EOF
[mysqld]
port=3306
user=mysql
basedir=/opt/mysql
datadir=/data/mysql_3306
socket=/tmp/mysql_3306.sock
[mysql]
socket=/tmp/mysql_3306.sock
EOF

8.准备启动脚本并启动数据库
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld

systemctl start mysqld

netstat -lntup|grep 3306

9.配置root密码
mysqladmin password 123 -S /tmp/mysql_3306.sock

10.登陆MySQL
mysql -uroot -p123
mysql>

第4章 MySQL多实例部署
1.创建数据目录并更改授权
mkdir -p /data/mysql_3307/
mkdir -p /data/mysql_3308/
chown -R mysql.mysql /data/

2.初始化多实例数据
mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3307/

mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3308/

3.创建配置文件
cat > /data/mysql_3307/my.cnf <<EOF
[mysqld]
basedir=/opt/mysql/
datadir=/data/mysql_3307/
socket=/data/mysql_3307/mysql.sock
log_error=/data/mysql_3307/mysql.log
port=3307
EOF
cat > /data/mysql_3308/my.cnf <<EOF
[mysqld]
basedir=/opt/mysql/
datadir=/data/mysql_3308/
socket=/data/mysql_3308/mysql.sock
log_error=/data/mysql_3308/mysql.log
port=3308
EOF

4.创建多实例启动脚本
cat >/etc/systemd/system/mysqld_3307.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=/opt/mysql/bin/mysqld --defaults-file=/data/mysql_3307/my.cnf
LimitNOFILE = 5000
EOF

cat >/etc/systemd/system/mysqld_3308.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=/opt/mysql/bin/mysqld --defaults-file=/data/mysql_3308/my.cnf
LimitNOFILE = 5000
EOF

5.启动多实例
systemctl daemon-reload
systemctl start mysqld_3307
systemctl start mysqld_3308
netstat -lntup

6.多实例设置密码
mysqladmin password 123 -S /data/mysql_3307/mysql.sock

mysqladmin password 123 -S /data/mysql_3308/mysql.sock

7.连接测试
方法1: 指定sock连接
mysql -uroot -p123 -S /data/mysql_3307/mysql.sock

mysql -uroot -p123 -S /data/mysql_3308/mysql.sock

方法2: 指定IP+端口
mysql -uroot -p123 -h127.0.0.1 -P3307

mysql -uroot -p123 -h127.0.0.1 -P3308

打开3006端口数据库

