2019-04-03-day01-第一章-MySQL-簡(jiǎn)介及安裝
1、官方定義的MySQL-DBA工作職責(zé)
1.1 開發(fā)DBA ***
1.2 運(yùn)維DBA *****
1.2.1 初級(jí)運(yùn)維
安裝边器、搭建
1.2.2 中級(jí)運(yùn)維
MySQL數(shù)據(jù)庫(kù)管理員:用戶權(quán)限靶擦,索引管理,存儲(chǔ)引擎挺勿,備份恢復(fù)曲横,主從,故障處理
1.2.3 高級(jí)運(yùn)維
性能優(yōu)化不瓶,集群高可用
2禾嫉、老男孩Linux云計(jì)算運(yùn)維-MySQL運(yùn)維DBA課程
2.1 MySQL簡(jiǎn)介及安裝 (必會(huì))
2.2 MySQL體系結(jié)構(gòu)和基礎(chǔ)管理(熟悉)
2.3 MySQL SQL語(yǔ)句(熟悉)
2.4 MySQL基礎(chǔ)優(yōu)化-索引及執(zhí)行計(jì)劃(必會(huì))
2.5 MySQL 存儲(chǔ)引擎(熟悉)
2.6 MySQL 日志管理(必會(huì))
2.7 MysQL備份恢復(fù)(必會(huì))
2.8 MySQL主從復(fù)制(必會(huì))
2.9 MySQL主從復(fù)制架構(gòu)演變-高可用及讀寫分離(熟悉)
2.10 MySQL主從復(fù)制架構(gòu)演變-分布式架構(gòu)(了解)
2.11 MySQL整體優(yōu)化(熟悉)
2.12 NoSQL-Redis緩存技術(shù)(熟悉)
2.13 NoSQL-MongoDB分布式數(shù)據(jù)庫(kù)技術(shù)(熟悉)
3、DBA 職業(yè)素養(yǎng)
3.1 人品
3.2 嚴(yán)謹(jǐn)
? ? 規(guī)范操作蚊丐,要有理論支撐或者實(shí)踐檢驗(yàn)
3.3 細(xì)心
? ? 變更類的操作熙参,多思考
3.4 心態(tài)?
? ? 能頂住壓力。
==============================
3.5 熟悉操作系統(tǒng)
3.6 熟悉業(yè)務(wù)(開發(fā))
3.7 熟悉行業(yè)
3.8 喜歡數(shù)據(jù)庫(kù)
4麦备、MySQL版本企業(yè)選擇
4.1 規(guī)范
GA版本:穩(wěn)定的發(fā)布版本
4.2 版本類型
E:企業(yè)版孽椰,收費(fèi)版本,SR泥兰,偏傳統(tǒng)行業(yè)
C:社區(qū)版弄屡,開源版本,互聯(lián)網(wǎng)企業(yè)的選擇
4.3 企業(yè)版本選擇
一般新上的環(huán)境鞋诗,會(huì)選擇GA6-12月版本
4.4 企業(yè)主流版本
5.6版本:5.6.34 5.6.36 5.6.38
5.7版本:5.7.20 5.7.22 5.7.24
4.5 MySQL分支
Oracle MySQL
MariaDB?
PerconaDB
RDS
4.6 軟件下載
地址:
https://downloads.mysql.com/archives/community/
RPM包:
二進(jìn)制包:(上課使用的版本)
源碼包:C++的源碼膀捷,需要二次開發(fā)的時(shí)候,需要做統(tǒng)一配置管理的時(shí)候
研究源碼
5. 安裝和基本配置
5.0 下載和上傳軟件到/data
5.1 解壓
```
[root@db01 data]# tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz?
?[root@db01 data]# mv mysql-5.7.20-linux-glibc2.12-x86_64/ mysql
```
5.2 修改環(huán)境變量及生效
```
vim /etc/profile
export PATH=/data/mysql/bin:$PATH
[root@db01 bin]# source /etc/profile
[root@db01 bin]# mysql -V
```
5.3 清理歷史軟件包
```
[root@db01 bin]# rpm -qa |grep mariadb-libs
mariadb-libs-5.5.56-2.el7.x86_64
[root@db01 bin]# yum remove -y mariadb-libs
```
5.4 建用戶
```
[root@db01 bin]# id mysql
id: mysql: no such user
[root@db01 bin]# useradd mysql
```
5.5 初始化數(shù)據(jù)
5.5.0 個(gè)版本初始化方式介紹
5.6 版本的初始化程序:
```
/data/mysql/scripts/mysql_install_db --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
```
5.7 版本的初始化程序:
```
/data/mysql/bin/mysqld --initialize-insecure??--user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
```
5.5.1 創(chuàng)建數(shù)據(jù)目錄
```
mkdir -p /data/mysql/data
```
5.5.2 初始化(系統(tǒng))數(shù)據(jù)
```
[root@db01 data]# /data/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
```
5.5.3 初始化參數(shù)介紹
--initialize-insecure: 是用無(wú)安全限制的方式進(jìn)行數(shù)據(jù)初始化
--user=mysql? ? ? ? ? :設(shè)置數(shù)據(jù)的管理用戶
--basedir=/data/mysql :軟件的安裝路徑
?--datadir=/data/mysql/data :數(shù)據(jù)的存儲(chǔ)位置
5.5.4 修改權(quán)限
```
[root@db01 mysql]# chown -R mysql.mysql /data
```
5.5.5 準(zhǔn)備啟動(dòng)腳本和基礎(chǔ)配置文件
5.5.5.1 準(zhǔn)備sys-v啟動(dòng)腳本
```
[root@db01 support-files]# pwd
/data/mysql/support-files
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
```
5.5.5.2 準(zhǔn)備配置文件
```
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/data/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
[mysql]
socket=/tmp/mysql.sock
5.5.5.3 SYS-V啟動(dòng)數(shù)據(jù)庫(kù)
[root@db01 support-files]#
[root@db01 support-files]# service mysqld start
Starting MySQL.Logging to '/data/mysql/data/db01.err'.
SUCCESS!
[root@db01 support-files]# service mysqld stop
Shutting down MySQL.. SUCCESS!
[root@db01 support-files]# service mysqld restart
ERROR! MySQL server PID file could not be found!
Starting MySQL. SUCCESS!
```
5.5.5.4 準(zhǔn)備systemd管理的腳本
```
vim /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=/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
[root@db01 ~]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
[root@db01 ~]# systemctl start mysqld
```
5.5.5.5 連接數(shù)據(jù)庫(kù)
```
mysql?
```
5.5.5.6 設(shè)置root的初始密碼
```
[root@db01 ~]# mysqladmin -uroot -p password 123
```