MySQL-DBA課程-Day01

1.數(shù)據(jù)庫(kù)產(chǎn)品介紹

1.什么是數(shù)據(jù)?

人類(lèi)認(rèn)為的數(shù)據(jù): 抽象出來(lái)的,圖片,視頻,文字,表格,數(shù)字.
計(jì)算機(jī): 2進(jìn)制,16機(jī)制.

2.DBMS 數(shù)據(jù)庫(kù)管理系統(tǒng)
  • RDBMS: 關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)
    特點(diǎn): 二維表結(jié)構(gòu),提供很豐富的查詢(xún)功能.高一致性.性能相比較差.

  • NoSQL:
    特點(diǎn): 無(wú)結(jié)構(gòu)化存儲(chǔ)數(shù)據(jù),性能較高

  • NewSQL:
    PinCAP TiDB
    Aliyun PolarDB + OB
    Tencent TDSQL

3.面試題
  • 筆試: 介紹你了解過(guò)的數(shù)據(jù)庫(kù)產(chǎn)品?
    RDBMS: MySQL , Oracle ,MSSQL,PG
    NOSQL: Redis, Memcached, MongoDB,ES
    NewSQL: TiDB , PolarDB ,TDSQL
  • 面試: 你們公司都用了哪些數(shù)據(jù)庫(kù)產(chǎn)品?
    (1)運(yùn)維: MySQL 或者 RDS
    (2)DBA: MySQL , Redis ,MongoDB, ES,Oracle

2.MySQL 企業(yè)版本選擇

1.Oracle MySQL產(chǎn)品線(xiàn)

E : 企業(yè)版 , 收費(fèi)的.
C : 社區(qū)版 , 開(kāi)源的.

2.社區(qū)版 版本類(lèi)型

DMR,RC : 測(cè)試開(kāi)發(fā)版.
GA : 穩(wěn)定發(fā)布版.

3.企業(yè)版本選擇

5.5 : 7-8%
5.6 : 50% : 5.6.3x : 5.6.34 -5.6.42 盡量選擇雙數(shù)版
5.7 : 40% : 5.7.2x : 5.7.20 -5.7.26
8.0 : 2-3% : 8.0.11+, 8.0.17以上更好.
5.6.38 5.7.20 2017-9-13

4.同源產(chǎn)品

Oracle MySQL  :  5.0 5.1 5.5  5.6 5.7 8.0 9.0
MariaDB       :  5.0 5.1 5.5  10.x  .... 
Percona       :  5.0 5.1 5.5  5.6 5.7 8.0 

3.MySQL 8.0.16版本二進(jìn)制版本部署

1.系統(tǒng)的準(zhǔn)備

(1) 網(wǎng)絡(luò)配置
ip,hostname,iptables,Selinux

(2) 規(guī)劃目錄
上傳軟件至:/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
創(chuàng)建目錄
數(shù)據(jù)路徑 mkdir -p /data/mysql/data_3306
binlog日志路徑 mkdir -p /data/mysql/binlog_3306

(3) 用戶(hù)創(chuàng)建
useradd mysql

(4) 授權(quán)
chown -R mysql.mysql /usr/local/mysql8 /data

(5) 環(huán)境變量

vim /etc/profile
添加:
export PATH=/usr/local/mysql8/bin:$PATH

[root@db01 local]# source /etc/profile

(6)殘留處理
yum remove mariadb-libs -y

(7) 依賴(lài)包安裝
yum install -y libaio-devel

2 數(shù)據(jù)初始化 (建系統(tǒng)庫(kù))
  • 無(wú)密碼初始化
    mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql/data_3306
  • 創(chuàng)建密碼初始化
    mysqld --initialize --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql/data_3306
  • 5.7 以前版本:
    /usr/local/mysql56/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56 --datadir=/data/mysql/data_3306
3.配置文件準(zhǔn)備
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.準(zhǔn)備啟動(dòng)腳本

cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld

4.體系結(jié)構(gòu)與基礎(chǔ)管理

1. MySQL的工作模型

C/S : 客戶(hù)端/服務(wù)端模型

  • 服務(wù)端程序
    mysqld

  • 客戶(hù)端程序
    mysql
    mysqldump
    mysqladmin
    ...

  • 連接協(xié)議(Linux)
    網(wǎng)絡(luò)套接字: TCP/IP網(wǎng)絡(luò)連接串 ----> mysql -uroot -p123 -h[圖片上傳失敗...(image-a679c5-1576588761915)]

10.0.0.51 -P3306
本地套接字: socket本地連接串 ----> mysql -uroot -p123 -S /tmp/mysql.sock

2. MySQL的實(shí)例(守護(hù)進(jìn)程模式)
11.png

實(shí)例 = mysqld + Master Thread + worker Threads + 專(zhuān)用內(nèi)存
公司 = Boss + Manager + worker + 辦公室

3. mysqld 程序結(jié)構(gòu)
  • SQL是什么?
    結(jié)構(gòu)化查詢(xún)語(yǔ)言.關(guān)系型數(shù)據(jù)庫(kù)中的專(zhuān)用命令.

  • SQL種類(lèi)
    DDL : 數(shù)據(jù)定義
    DCL : 數(shù)據(jù)控制
    DML : 數(shù)據(jù)操作
    DQL : 數(shù)據(jù)查詢(xún)

  • 一條SQL語(yǔ)句的執(zhí)行邏輯


    1.png
4.查詢(xún)QC(query_cache)
  • 案例: 5.7.23 , 16C_64G , 版本 按月分區(qū)表 , 做壓力測(cè)試

開(kāi)啟QC之前:
select * from a where aa=xxx;
QPS 3000+

開(kāi)啟之后:
select * from a where aa=xxx;
QPS 600+

熱點(diǎn)數(shù)據(jù),可以用redis緩存數(shù)據(jù)庫(kù)承當(dāng).

4. MySQL對(duì)象邏輯結(jié)構(gòu)

庫(kù) : database / schema
庫(kù)名
屬性

表 : table
表名
表屬性
字段(列)
數(shù)據(jù)行(記錄)

5. MySQL對(duì)象物理結(jié)構(gòu)
  • 宏觀(guān)


    Q$~9_8~UKZ~9Z@75`{V4)QB.png
  • 微觀(guān)


    2%%@VL3)TIXU()G9WI0A$`Q.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容