從零開始學習 MySQL,主要是面向 MySQL 數(shù)據(jù)庫管理系統(tǒng)初學者。前端開發(fā)工程師為什么寫這個入門教程呢?最近項目強迫我這個前端老司機使用 MySQL,雖然我在項目中已經使用過一段時間,為了寫出高質量的 SQL 語句,能快速定位解決數(shù)據(jù)庫引發(fā)的問題,系統(tǒng)的過一遍基礎,你也可以當做是我的筆記。有幸也認識一些 MySQL 的 DBA,這讓我學習起來比較快,能快速入門,進入實戰(zhàn)開發(fā)階段。
原本我是使用 MongoDB 這類型的 NoSQL 數(shù)據(jù)庫,MongoDB在 Nodejs 在 Mongoose 包的幫助下 JSON 的數(shù)據(jù)格式直接插入 MongoDB 中,對于一個前端開發(fā)工程師,使用起來非常舒服。但是沒有辦法,我是被逼的,從此入了一個新坑,我就決心系統(tǒng)的好好學習一下。如果你對本小電子書閱讀非常沒有耐心,你可以看看我做的一篇筆記 《21分鐘MySQL基礎入門》 ,這個筆記還可以在 SegmentFault 里面閱讀,有導航閱讀非常方便,為什么只需要21分鐘呢?因為在我們大天朝有句話叫做“不管三七二十一”,你可以不管三七二十一開始使用 MySQL 及快速入門,里面系統(tǒng)的整理了,一些常用的SQL語句。
在本書中所搜集到得各種資源,我把它將放到這里 Awesome MySQL。所有SQL語句例子,是基于 MySQL 5.7.14 或者 MySQL 5.7.16 運行的。這里面的一些理論知識都是從維基百科等各種百科、各種官網搬運過來的,偶爾會有一些基礎理論知識總結,如果有錯誤或者誤差,可以給我來個瘋狂的 Pull requesets 或 Issue。如果實在看不下去你可以🔫。
MariaDB,是 MySQL server 的一個由社區(qū)開發(fā)的分支,MariaDB 大部分跟 MySQL 5.5 以前版本使用差不多。自己電腦上是 MySQL 5.7.14,公司服務器上面是 MariaDB 最新版本,生產上 MySQL 5.7.16,所以很尷尬,偶爾提及 MariaDB 也是很正常的吧。
目錄
Awesome MySQL
手冊文檔 - 一些非官方的手冊文檔搜集
分析工具 - 性能,結構和數(shù)據(jù)分析工具
GUI - 搜集的一些 MySQL 的客戶端,也有命令行客戶端
服務器 - MySQL服務器的衍生品
備份 - 備份/存儲/恢復 工具
官方資料 - 官方的一些網站和文章
優(yōu)秀文章 - 一些優(yōu)秀的文章
第1章 初識 MySQL
1.1 數(shù)據(jù)庫基礎
什么是數(shù)據(jù)庫
數(shù)據(jù)庫分類
數(shù)據(jù)庫模型
數(shù)據(jù)表
關系鍵
1.2 數(shù)據(jù)庫技術構成
數(shù)據(jù)庫系統(tǒng)
關系數(shù)據(jù)庫基本概念
SQL 語言
數(shù)據(jù)庫訪問技術
1.3 什么是 MySQL
MySQL 介紹
MySQL 發(fā)展歷史
MySQL 版本
MySQL 的優(yōu)勢
1.4 如何學習 MySQL
第2章 MySQL 的安裝與配置
2.1 Mac 平臺下安裝與配置 MySQL
Mac 上安裝 MySQL
Mac 上卸載 MySQL
2.2 Centos 平臺安裝與卸載 MySQL
檢查是否已安裝
更新安裝源
檢查是否下載成功
查看版本
啟動指定版本
安裝 MySQL
查看安裝目錄
MariaDB 切換 MySQL
卸載 MySQL 軟件
2.3 啟動數(shù)據(jù)庫設置初始密碼
命令行啟動關閉重啟 MySQL 服務
圖像界面啟動關閉重啟 MySQL 服務
查看初始密碼
設置初始化密碼
啟動報錯處理
2.4 MySQL 工具
命令行使用程序
MySQL Workbench 客戶端
常用圖形管理工具
MyCli 替代 MySQL 的 mysql 命令行工具
2.5 MySQL 配置修改
第3章 數(shù)據(jù)庫的基本操作
3.1 連接數(shù)據(jù)庫
MySQL命令語法
MySQL命令連接數(shù)據(jù)庫
開啟 MySQL 的遠程帳號
MySQL 修改密碼
3.2 查看選擇數(shù)據(jù)庫
查看數(shù)據(jù)庫
選擇數(shù)據(jù)庫
3.3 創(chuàng)建數(shù)據(jù)庫
SQL 語句創(chuàng)建數(shù)據(jù)庫
管理工具創(chuàng)建數(shù)據(jù)庫
3.4 刪除數(shù)據(jù)庫
SQL 語句刪除數(shù)據(jù)庫
管理工具刪除數(shù)據(jù)庫
3.5 數(shù)據(jù)庫存儲引擎
第4章 數(shù)據(jù)表的基本操作
4.1 創(chuàng)建數(shù)據(jù)表
第5章 數(shù)據(jù)類型和運算符
第6章 MySQL 函數(shù)
第7章 查詢數(shù)據(jù)
第8章 插入、更新與刪除數(shù)據(jù)
第9章 索引
第10章 存儲過程和函數(shù)
第11章 視圖
第12章 MySQL 函數(shù)
第13章 MySQL 用戶管理
第14章 數(shù)據(jù)備份與還原
第15章 MySQL日志
第16章 性能優(yōu)化
第17章 各種問題解決
讓 MySQL 支持 emoji 圖標存儲
Centos6 下升級 MySQL 數(shù)據(jù)庫
MySQL 修改密碼
mysqld_safe 不存在修改密碼
啟動修改丟失的 mysql 單實例 root 密碼方法
Mac下重置MySQL的 root 密碼
不重啟 mysqld 修改密碼的方法
Centos7 默認為 MariaDB 導致 mysql 安裝不上
mysql 命令不存在
MySQL 服務啟動失敗解決方案
密碼不滿足當前的策略要求導致無法開啟遠程帳號
讀者對象
整本書目錄規(guī)劃參考了其它幾本 MySQL 書籍目錄規(guī)劃的,在我邊學習邊整理的過程可能有修改,這個過程有點慢,希望能完成,所以教程適合以下讀者學習閱讀使用:
MySQL 數(shù)據(jù)庫初學者。
對數(shù)據(jù)庫開發(fā)感興趣,希望快速、全面掌握 MySQL 的人員。
對其他數(shù)據(jù)庫有一定的了解,想轉到 MySQL 平臺使用它的開發(fā)者。
像我一樣被逼無奈使用 MySQL 數(shù)據(jù)庫的人。
從目錄來看,看上去內容豐富,比較完整的介紹了 MySQL 數(shù)據(jù)庫技術的教程,我不是DBA,我不是,正在看這篇文章的你,很可能也不是,不想誤人子弟,在項目中應用了一段時間 MySQL,如果你是DBA請多多指教,文采不佳還望高抬貴手,不甚感激,小弟在這里給您鞠躬,歡迎給我糾錯。