(1)mysql版本詳細介紹及安裝部署(mysql-5.6)

運維DBA工作內容

  • 初級DBA:
    安裝配置,基本使用,基本故障處理
  • 中級DBA:
    體系結構、備份策略涉及,故障恢復,基礎高可用的運維(搭建、監控、故障處理、架構演變)、基礎優化(索引、執行計劃、慢日誌)
  • 高級DBA:
    高可用架構(設計、實施、運維)、高性能架構(讀寫分離,分庫、分表,分佈式)、整體數據庫優化(基於業務的SQL優化)

MySQL學習框架

  1. MySQL簡介及部署
  2. MySQL體系結構
  3. MySQL基礎管理
  4. SQL應用
  5. Information_schema獲取元數據
  6. 索引及執行計劃
  7. MySQL存儲引擎
  8. MySQL日誌管理
  9. MySQL備份與恢復
  10. MySQL主從複製及架構演變
  11. MySQL高可用架構
  12. MySQL高性能架構
  13. MySQL優化
  14. MySQL5.7及8.0高可用新特性

數據庫管理系統

什麼是數據

數據(data)是事實或觀察的結果,是對客觀事物的邏輯歸納,是用於表示客觀事物的未經加工的的原始素材。
數據可以是連續的值,比如聲音、圖像,稱爲模擬數據。也可以是離散的,如符號、文字,稱爲數字數據。
在計算機系統中,數據以二進制信息單元0,1的形式表示。
數據的定義:數據是指對客觀事件進行記錄並可以鑑別的符號,是對客觀事物的性質、狀態以及相互關係等進行記載的物理符號或這些物理符號的組合。
它是可識別的、抽象的符號。

數據庫管理系統(Database Management System) (需要了解)

特點:

高效/安全

種類:

RDBMS:關係型數據庫
NoSQL:非關係型數據庫
Alt text

RDBMS與NOSQL (需要熟悉)

  • RDBMS和NoSQL基本特點
  • 產品介紹(熟悉)
  1. RDBMS:

種類: Oracle、mysql、mssql(SQL Server)、PG(postgresql)
特點: 以多張二維表的方式來存儲,又給多張表建立了一定關係.

數據安全性要求較高的應用場景
Alt text

  1. NoSQL:

種類: redis、mongodb、memcache、Hbase、neo4j
特點: 簡單,快,適合做緩存數據庫

針對性能要求較高,數據安全性要求不是太高的場景,一般是配合RDBMS使用的產品
Alt text

關係型與非關係型數據庫的對比
Alt text

Oracle產品介紹

Oracle:

10g 11g 12c 18c (需要了解)

MySQL:

5.6 5.7 8.0 (需要熟悉)
補充:

5.6 ----->5.6.38 5.6.38 ,GA6個月以上的版本
5.7 ----->5.7.17版本以上:5.7.18,5.7.20 , GA6個月以上的版本
GA=穩定版本

MySQL獲取與安裝方式介紹

MySQL官方下載鏈接

  1. RPM、Yum:
    安裝方便、安裝速度快,無法定製 (需要了解)

  2. 二進制:
    不需要安裝,解壓即可使用,不能定製功能 (需要熟悉)

  3. 編譯安裝:
    可定製,安裝慢。(需要熟悉)
    4個步驟:

1.解壓(tar)
2.生成(./configure)
3.編譯(make)
4.安裝(make install)

5.5之前:./configure make make install
5.5之後:cmake gmake

  1. 先編譯,然後製作rpm,製作yum庫,然後yum安裝.(需要熟悉)
    簡單、速度快、可定製,比較複雜 製作時間長

  2. 企業選擇安裝方式

中小企業:以上方式都可以,運維偏向編譯,dba偏向選擇
大型企業:可以選擇第4種安裝方式

源碼編譯安裝MySQL

安裝前準備

  1. 下載好5.6.38
    百度雲提取:5.6.38版本
    提取碼: ht2b

上傳到服務器上

  1. 安裝依賴包
yum  install  -y  ncurses-devel libaio-devel

安裝cmake
代替了之前的./config

yum install cmake -y
  1. 創建用戶
useradd -s /sbin/nologin -M mysql
id mysql

創建目錄

mkdir -p /application

開始安裝mysql-5.6.38

cd /server/tools/
ls -l mysql-5.6.38.tar.gz
# 儘量去官方下載
  1. 解壓壓縮包
tar xf mysql-5.6.38.tar.gz
cd mysql-5.6.38
  1. 開始cmake編譯安裝
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
  • 編譯參數說明
#程序存放位置
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
#數據存放位置
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \
#socket文件存放位置,需要提前創建好tmp文件
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \
#使用utf8字符集
-DDEFAULT_CHARSET=utf8 \
#校驗規則
-DDEFAULT_COLLATION=utf8_general_ci \
#使用其他額外的字符集
-DWITH_EXTRA_CHARSETS=all \
#支持的存儲引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#禁用的存儲引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
#啓用zlib庫支持(zib、gzib相關)
-DWITH_ZLIB=bundled \
#啓用SSL庫支持(安全套接層)
-DWITH_SSL=bundled \
#啓用本地數據導入支持
-DENABLED_LOCAL_INFILE=1 \
#編譯嵌入式服務器支持
-DWITH_EMBEDDED_SERVER=1 \
# mysql5.6支持了google的c++mock框架了,允許下載,否則會安裝報錯。
-DENABLE_DOWNLOADS=1 \
#禁用debug(默認爲禁用)
-DWITH_DEBUG=0
  • cmake幹了什麼?

1、做了些預配置
2、影響了編譯後的程序(編譯過程會將cmake指定的配置信息硬編碼到程序文件中)
mysqld
mysql
mysql_install_db
mysqldump
mysqladmin
mysqld_safe
等。

  • 什麼是一套完整的數據庫管理系統?
    從文件角度來講:

軟件部分------>/application/mysql-5.6.38 #軟件安裝部分
數據部分------>/application/mysql/data #數據存放目錄,使用前需要使用mysql_install_db初始化,

  • 生產環境中如何升級(瞭解):
    以5.7.20爲例

1、裝新的軟件5.7.20
2、軟連接
3、升級數據
注:生產中一般選擇遷移升級的方式(自己總結)
在升級的的時候注意要做好備份,有回退方案

  1. 開始make安裝
make && make install
  • 做一個軟連接
 ln -s /application/mysql-5.6.38/ /application/mysql
  • 進入目錄
cd /application/mysql/support-files
  • 拷貝啓動腳本到init.d
cp mysql.server /etc/init.d/mysqld

#授權
chmod  700 /etc/init.d/mysqld
  • 拷貝配置文件
cp my-default.cnf /etc/my.cnf
  • 授權
chown -R mysql.mysql /application/mysql-5.6.38/data/
  • 給軟連接也授權
chown -R mysql.mysql /application/mysql
  • 給socket目錄授權
chown -R mysql.mysql /application/mysql-5.6.38/
  • 初始化
cd /application/mysql/scripts
./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
  • 創建tmp目錄存放socket文件
mkdir -p /application/mysql/tmp
  • 增加變量
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
  • 啓動
/etc/init.d/mysqld start
  • 查看是否啓動成功
#端口
netstat -lntup |grep 330
#進程
ps -ef|grep mysql
  • 設置root密碼
mysqladmin password 123456
#或者
mysqladmin -uroot -p password 123456
Enter password:#舊密碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章