MySQL 入門介紹簡單下載方式和安裝流程
本文主要介紹為8.0版本
MySQL資料庫介紹
• MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),
MySQL資料庫系統使用最常用的資料庫管理語言--結構化查詢語
言(SQL)進行資料庫管理。
• MySQL的歷史最早可以追溯到1979年,那時Oracle也才剛剛開始,
微軟的SQL Server影子都沒有。
• 在2008年1月16號 MySQL被Sun公司收購。
• 2009年,SUN又被Oracle收購
• 體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,
使得許多企業選擇了MySQL作為資料庫
MySQL官網介紹
• 主頁https://www.oracle.com/mysql/index.html
• 下載主頁面https://www.mysql.com/downloads/
• 社群資源下載頁面https://dev.mysql.com/downloads/
• MySQL社群版下載頁面https://dev.mysql.com/downloads/mysql/
MySQL相關產品介紹
• Oracle MySQL Cloud Service (commercial)
商業付費軟體,基於MySQL企業版和Oracle雲服務提供企業級
的MySQL資料庫服務
• MySQL Enterprise Edition(commercial)
商業付費軟體,除了提供MySQL資料庫服務之外,又包含了connector(程式連
接介面),partition(表分割槽),企業級的monitor(監控),HA(高可用),backup(備份),
Scalability(擴充套件)等服務
• MySQL Cluster CGE(commercial)
商業付費軟體,基於MySQL Cluster和企業版擁有的各項功能提供
企業級的高併發 、高吞吐的資料庫服務
• MySQL Community Edition
免費社群軟體,提供基礎的資料庫服務和其他衍生服務
MySQL 社群軟體相關產品介紹
• MySQL Community Server
最流行的開源資料庫管理軟體,當前最新版本是5.7
• MySQL Cluster
基於MySQL資料庫而實現的叢集服務,自身能提供高併發高
負載等特性
• MySQL Fabric
MySQL官方提供的關於MySQL資料庫高可用和資料分片的解
決方案
• MySQL Connectors
為應用程式提供JDBC/ODBC等訪問MySQL資料庫的介面服務
MySQL Community Server各版本主要
區別
• MySQL4.0版本:增加了子查詢的支援,字符集增加UTF-8,GROUP BY
語句增加了ROLLUP,mysql.user表採用了更好的加密演算法,InnoDB開始
支援單獨的表空間
• MySQL5.0版本:增加了Stored procedures、Views、Cursors、Triggers、
XA transactions的支援,增加了INFORATION_SCHEMA系統資料庫
• MySQL5.5版本:預設儲存引擎更改為InnoDB,提高效能和可擴充套件性,
增加半同步複製
• MySQL5.6版本:提高InnoDB效能,支援延遲複製
• MySQL5.7版本:提升資料庫效能和儲存引擎,更健壯的複製功能,增
加sys系統庫存放資料庫管理資訊
MySQL安裝——準備(1)
• 檢查作業系統和MySQL版本的適配度
MySQL安裝——準備(1)
• 檢查作業系統和MySQL版本的適配度
MySQL安裝——準備(2)
• 選擇安裝的MySQL版本
• 首先判斷是否要和公司其他已經安裝好的MySQL保持版本一致
• 如果沒有上述要求,則一般會安裝最新版本(目前是5.7)
• 如果不是實驗新功能性質,則不要選擇development release,而要安裝
General Availability (GA) release(代表穩定版本,可在生產系統使用)
• 選擇安裝MySQL的方式
• 二進位制安裝包的方式(RPM,ZIP,Tar等)
• 原始碼方式(source code)
• 一般會選擇二進位制安裝方式
• 如果有特殊需求,比如修改一部分原始碼或修改MySQL深層次的配置,則會選擇原始碼
方式
• 我們以二進位制Tar包安裝方式為例
MySQL Linux 安裝
• 1.下載正確的tar包
MySQL Linux安裝
• 2.上傳tar包到伺服器並解壓tar包到/usr/local/目錄
• cd /usr/local/
• tar -xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar
• tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
• mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
把解壓後的資料夾重新命名為mysql,這樣操作填寫目錄的時候比較方便
MySQL Linux安裝
• 3.建立執行MySQL的使用者和組(名字可以任意)
• Shell> groupadd mysql
• Shell> useradd mysql -g mysql
這個提示已存在就不用管了,可以跳過
• 4.切換到mysql目錄
• Shell > mkdir data
• 5.修改解壓包的許可權
• Shell> chown –R mysql . data
• Shell> chgrp –R mysql . data
授權許可權
• 6.安裝MySQL
• Shell> bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data ##初始化資料目
錄
• shell> cp -f support-files/my-default.cnf /etc/my.cnf ##將預設配置檔案複製到指定目錄
• shell> bin/mysqld_safe --datadir=/usr/local/mysql/data --user=mysql & ##啟動MySQL服務
• shell> cp support-files/mysql.server /etc/init.d/mysql.server ##將MySQL加入到服務自啟動
• Shell> /etc/init.d/mysql.server start ##通過服務啟動MySQL
MySQL Linux安裝
• 啟動過程中如果碰到如下錯誤
• [
/usr/local/mysql/data
• bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open
shared object file: No such file or directory
• 則需要安裝包yum install -y libaio
MySQL Linux安裝
• 不使用推薦安裝路徑的方法
• [[email protected] mysql]# bin/mysqld --initialize --user=mysql --
basedir=/data/mysql --datadir=/data/mysql/data &
初始化過程中會給一個臨時密碼 把這個記錄下來 進入資料庫中會用到
• [[email protected] mysql]# bin/mysqld_safe --basedir=/data/mysql --
datadir=/data/mysql/data --user=mysql &
MySQL Linux安裝
• 初始化過程中獲得root的初始密碼
• 啟動完成後通過ps –ef檢視MySQL程序
MySQL Linux安裝
• 本機登入MySQL資料庫
MySQL Linux安裝
• 修改root的初始密碼
• mysql> set password=password('mysql'); 這是之前的版本,
8.0使用這個命令shell> alter user 'root'@'localhost' identified by 'mysql';
• Query OK, 0 rows affected, 1 warning (0.01 sec)
• mysql> flush privileges;
• Query OK, 0 rows affected (0.00 sec)
MySQL Windows安裝
• 官方推薦直接使用MySQL Installer安裝
https://dev.mysql.com/downloads/installer/
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
MySQL Windows安裝
• 檢視windows的偵聽埠,3306埠已經開啟
MySQL Windows安裝
• 檢視windows service,MySQL57服務已經啟動,“自動”表示本
機重啟後該服務也自動啟動
MySQL Windows安裝
• MySQL資料檔案目錄
MySQL Windows連線(1)
• 通過mysql專有的客戶端連線建立連線
MySQL Windows連線(1)
• MySQL資料庫退出連線
MySQL Windows連線(2)
• 通過windows command line客戶端連線建立MySQL連線
MySQL Windows連線(2)
• 通過windows command line客戶端連線建立MySQL連線
• 先設定系統環境變數,將MySQL的bin目錄加入到Path環境中
MySQL Windows連線(2)
• 通過windows command line客戶端連線建立MySQL連線
MySQL Windows操作
• 資料庫之間切換的命令是use database_name;
MySQL Windows服務關閉
• "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --
defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"
MySQL57
MySQL常用客戶端工具--Aqua
• Aqua data studio是一款支援連線多種資料庫型別的客戶端工具
MySQL常用客戶端工具--Aqua
MySQL常用客戶端工具--Aqua
MySQL常用客戶端工具--Aqua
MySQL常用客戶端工具--Aqua
MySQL常用客戶端工具--Navicat
• Navicat for MySQL是一款專門針對MySQL的客戶端工具
• 下載地址 http://www.cr173.com/soft/38153.html
MySQL常用客戶端工具--Navicat
MySQL常用客戶端工具--Navicat
MySQL常用客戶端工具--Navicat
MySQL常用客戶端工具--SQLyog
• SQLyog是一款簡潔高效、功能強大的圖形化MySQL資料庫管理工
具
• 下載地址 http://www.cr173.com/soft/126913.html
• 破解碼:
MySQL常用客戶端工具--SQLyog
MySQL常用客戶端工具--SQLyog
MySQL常用客戶端工具--SQLyog
• Data目錄為初始化的資料檔案存放路徑
• Data目錄裡為每一個數據庫建立了一個資料夾
• Ibdata1和ib_logfile0/1為三個專為innodb存放資料和日誌的共享檔案
MySQL基本檔案結構
MySQL啟動相關引數
• basedir = /usr/local/mysql
• 代表MySQL安裝路徑
• datadir = /usr/local/mysql/data
• 代表MySQL的資料檔案路徑
• port = 3306
• 指定MySQL的偵聽埠
• log-error=/usr/local/mysql/data/M00006.err
• 記錄MySQL啟動日誌和執行錯誤日誌
• bind-address(預設是)
• 代表接受所有來自IPV4、IPV6主機網絡卡的TCP/IP連線
• 0.0.0.0代表接受所有來自IPV4主機網絡卡的TCP/IP的連線
• 指定的IP如127.0.0.1,代表只接受此地址請求的TCP/IP連線
MySQL啟動相關引數
• character-set-server(預設是latin1)
• 指定MySQL的字符集
• collation-server(預設是latin1_swedish_ci)
• 指定MySQL的排序規則
• default-storage-engine(預設是InnoDB)
• 指定MySQL的預設儲存引擎
• default-time-zone
• 指定預設時區,如果沒有指定則和系統預設時區一致
• open-files-limit(預設5000)
• 指定Mysqld執行過程中可以開啟的檔案數,避免出現” Too many open files”報錯
• pid-file=/usr/local/mysql/data/M00006.pid
• 指定Mysqld程序對應的程式ID檔案,預設是在資料檔案目錄裡
MySQL啟動相關引數
• Skip-grant-tables
• 指定避開MySQL內部的許可權表啟動服務
• Tmpdir
• 指定臨時表文件的存放路徑
MySQL啟動相關引數
• 修改MySQL預設埠後重啟
• 修改/etc/my.cnf中的port引數為3307
• /etc/init.d/mysql.server restart重啟服務
MySQL啟動相關引數
• 修改MySQL預設字符集後重啟
• 修改/etc/my.cnf檔案
• character-set-server = utf8
• collation-server = utf8_unicode_ci
• /etc/init.d/mysql.server restart重啟服務
• 檢視重啟後的MySQL字符集
• mysql> show variables like 'character_set_server%';
• +----------------------+-------+
• | Variable_name | Value |
• +----------------------+-------+
• | character_set_server | utf8 |
• +----------------------+-------+
• mysql> show variables like 'collation_server%';
• +------------------+-----------------+
• | Variable_name | Value |
• +------------------+-----------------+
• | collation_server | utf8_unicode_ci |
• +------------------+-----------------+
MySQL啟動相關引數
• 修改MySQL資料檔案目錄後重啟
• 關閉資料庫
• /etc/init.d/mysql.server stop
• 資料目錄data轉移到/data/目錄下
• mv data /data/
• 修改my.cnf中的datadir引數
• datadir = /data/data
• /etc/init.d/mysql.server start服務
THANKS