第1章 DBA職業(yè)介紹
1.什么是DBA
數據庫管理員
2.DBA分級和職責
初級:
安裝配置
基本使用
基本故障處理
中級: 運維在這里就可以
體系結構
備份策略
故障恢復
基礎優(yōu)化(索引,執(zhí)行計劃,慢日志)
高可用架構(搭建,監(jiān)控,故障處理,架構演變)
高級:
高可用架構(設計,實施,運維)
高性能架構(讀寫分離,分庫,分表,分布式)
整體數據庫優(yōu)化(基于業(yè)務的SQL優(yōu)化)
3.運維對數據庫的掌握
基礎的SQL語句
MySQL索引及執(zhí)行計劃
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.配置環(huán)境變量
echo 'PATH=$PATH:/opt/mysql/bin' >> /etc/profile
source /etc/profile
mysql -V

3.清除遺留環(huán)境
rpm -qa|grep mariadb
yum remove mariadb-libs -y

rm -rf /etc/my.cnf

4.安裝mysql依賴包
yum install -y libaio-devel

5.創(chuàng)建數據目錄及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.創(chuàng)建數據目錄并更改授權
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.創(chuàng)建配置文件
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.創(chuàng)建多實例啟動腳本
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端口數據庫

