為了響應
nodejs
的大紅大紫淋叶,最近應用其實現(xiàn)了一些server端的功能董饰。數(shù)據(jù)庫方面選擇了老少咸宜的MySQL
盖腿。今后肯定還會有相關應用需求了讨。特此記錄Mac
系統(tǒng)下如何安裝练俐、配置MySQL
及其管理工具Squel Pro
放棒。
Why MySQL
數(shù)據(jù)庫有很多死讹,為什么么我選擇了MySQL
呢推励。
- 關系型數(shù)據(jù)庫 or NoSQL
近年來NoSQL大紅大紫悉默,其中佼佼者mongoDB
更是方便易用城豁。二者的優(yōu)劣細節(jié)討論起來恐怕不是一篇文章能夠搞定的。此處大概總結(jié)如下:- 適合使用SQL開發(fā)的項目:
可以預先定義邏輯相關的離散數(shù)據(jù)的需求
數(shù)據(jù)一致性是必要的
具有良好的開發(fā)者經(jīng)驗和技術支持的標準的成熟技術 - 適合使用NoSQL開發(fā)的項目:
不相關麦牺,不確定和逐步發(fā)展的數(shù)據(jù)需求
更簡單或者更寬松的能夠快速開始編程的項目
速度和可擴展性至關重要的
- 適合使用SQL開發(fā)的項目:
由于我們的需求比較明確钮蛛,關系比較固定,并且業(yè)務量不大剖膳,速度要求不高魏颓。相反對于邏輯要求比較嚴格,所以選擇傳統(tǒng)的關系型數(shù)據(jù)庫吱晒。
- Why MySQL
確定了使用關系型數(shù)據(jù)庫甸饱,這個問題反而容易解決了,直接隨大流MySQL
似乎成了絕大多數(shù)人的選擇。我個人總結(jié)原因如下:- 開源叹话,免費偷遗。
- 主流,速度快驼壶,性能足夠氏豌。
- 用戶多,社區(qū)活躍热凹。
- 配套工具多泵喘,簡單易用。
安裝MySQL
-
Homebrew
可以選擇官網(wǎng)下載安裝般妙,但是命令行畢竟方便太多了纪铺,如果沒有homebrew
,請打開Terminal碟渺,使用以下命令安裝鲜锚。# 安裝homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # 驗證安裝正確 brew doctor
- 安裝
MySQL
此時注意到提示如下,所以先啟動服務苫拍,再運行相關命令:brew install mysql
We’ve installed your MySQL database without a root password. To secure it run:
mysql_secure_installation - 啟動
MySQL
服務mysql.server start
- 按提示
mysql_secure_installation
芜繁,設置用戶名以及密碼
這里按照提示一步一步設置就可以了,主要包括怯疤,選定密碼強度浆洗,設置密碼催束,確認密碼集峦,是否刪除無密碼用戶,是否允許遠程root登錄抠刺,刪除自帶test數(shù)據(jù)庫塔淤。mysql_secure_installation
- 登錄測試一下
mysql -u root -p
MySQL基本命令
雖然作為FE,我們最終選擇了圖形化管理工具Squel Pro
速妖,但是一些基本的命令還是需要掌握的高蜂。應用場景還是很多,比如罕容,只是想做一個快速校驗备恤,或者是在他人電腦上,以及遠程登錄數(shù)據(jù)庫時锦秒。
- 基本命令
# 查看有哪些數(shù)據(jù)庫 show databases; # 查看當前使用的是哪個數(shù)據(jù)庫 select database(); # 選擇數(shù)據(jù)庫 use [database-name]; # 顯示數(shù)據(jù)庫中的tables show tables; # 建立數(shù)據(jù)庫 CREATE DATABASE [new-database-name];
- 新建用戶露泊。
# 給localhost創(chuàng)建用戶nodejs,并將密碼設置為nodejs create user 'nodejs'@'localhost' identified by 'nodejs'; # 將用戶權限信息從數(shù)據(jù)表同步到內(nèi)存(此命令可以避免重啟mysql服務) FLUSH PRIVILEGES;
- 授予權限旅择。
接下來我們?yōu)楫斍皯脛?chuàng)建一個名為nodejs的數(shù)據(jù)庫惭笑,并將其權限全部賦予user nodejs.CREATE DATABASE nodejs; GRANT ALL PRIVILEGES ON nodejs.* TO 'nodejs'@'%' IDENTIFIED BY 'nodejs';
Sequel Pro
登陸后軟件界面如上圖所示。可以簡單看到如下功能:
- 左上角數(shù)據(jù)庫選擇沉噩,可以管理數(shù)據(jù)庫
- 左側(cè)欄
TABLES
捺宗,可以管理數(shù)據(jù)表 - 中間主要區(qū)域,可以管理數(shù)據(jù)表中數(shù)據(jù)川蒙。
- 右上角
Users
蚜厉,可以管理用戶。 - 右上角
Console
畜眨,可以方便運行Mysql命令弯囊。
安裝
官網(wǎng)下載安裝包后運行即可。
登錄
界面如下胶果,輸入Host
,Username
,Password
即可登錄匾嘱。此處建議使用新建的nodejs用戶登錄管理nodejs
數(shù)據(jù)庫。除建立新用戶早抠、給新用戶授予權限外霎烙,為安全原因,不建議使用root
用戶蕊连。
使用
登陸后點擊右上角悬垃,可以看到選擇數(shù)據(jù)庫,新建數(shù)據(jù)庫等等信息甘苍,就可以開始查看尝蠕、管理數(shù)據(jù)庫了。由于工具本身圖形界面做的重點突出使用方便载庭,此處不再贅述看彼。