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) (須要瞭解)

特色:mysql

高效/安全

種類:c++

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

RDBMS與NOSQL (須要熟悉)

  • RDBMS和NoSQL基本特色
  • 產品介紹(熟悉)redis

    1. RDBMS:

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

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

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

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

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

Oracle產品介紹

Oracle:緩存

10g 11g 12c 18c (須要瞭解)

MySQL:安全

5.6 5.7 8.0 (須要熟悉)
補充:bash

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:

安裝方便、安裝速度快,沒法定製 (須要瞭解)

  1. 二進制:

不須要安裝,解壓便可使用,不能定製功能 (須要熟悉)

  1. 編譯安裝:

可定製,安裝慢。(須要熟悉)
4個步驟:

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

5.5以前:./configure make make install
5.5以後:cmake gmake
  1. 先編譯,而後製做rpm,製做yum庫,而後yum安裝.(須要熟悉)

簡單、速度快、可定製,比較複雜 製做時間長

  1. 企業選擇安裝方式
中小企業:以上方式均可以,運維偏向編譯,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幹了什麼?

一、作了些預配置
二、影響了編譯後的程序(編譯過程會將cmake指定的配置信息硬編碼到程序文件中)

mysqld
mysql
mysql_install_db
mysqldump
mysqladmin
mysqld_safe
等。
  • 什麼是一套完整的數據庫管理系統?

從文件角度來說:

軟件部分------>/application/mysql-5.6.38 #軟件安裝部分
數據部分------>/application/mysql/data #數據存放目錄,使用前須要使用 mysql_install_db初始化,
  • 生產環境中如何升級(瞭解):

以5.7.20爲例

一、裝新的軟件5.7.20
二、軟鏈接
三、升級數據
注:生產中通常選擇遷移升級的方式(本身總結)
在升級的的時候注意要作好備份,有回退方案
  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:#舊密碼
相關文章
相關標籤/搜索