Mac配置MySQL以及Squel Pro

張偉傑發表於2017-10-26

為了響應nodejs的大紅大紫,最近應用其實現了一些server端的功能。資料庫方面選擇了老少咸宜的MySQL。今後肯定還會有相關應用需求。特此記錄Mac系統下如何安裝、配置MySQL及其管理工具Squel Pro

Why MySQL

資料庫有很多,為什麼麼我選擇了MySQL呢。

  • 關係型資料庫 or NoSQL
    近年來NoSQL大紅大紫,其中佼佼者mongoDB更是方便易用。二者的優劣細節討論起來恐怕不是一篇文章能夠搞定的。此處大概總結如下:
    • 適合使用SQL開發的專案:
      可以預先定義邏輯相關的離散資料的需求
      資料一致性是必要的
      具有良好的開發者經驗和技術支援的標準的成熟技術
    • 適合使用NoSQL開發的專案:
      不相關,不確定和逐步發展的資料需求
      更簡單或者更寬鬆的能夠快速開始程式設計的專案
      速度和可擴充套件性至關重要的

由於我們的需求比較明確,關係比較固定,並且業務量不大,速度要求不高。相反對於邏輯要求比較嚴格,所以選擇傳統的關係型資料庫。

  • Why MySQL
    確定了使用關係型資料庫,這個問題反而容易解決了,直接隨大流MySQL似乎成了絕大多數人的選擇。我個人總結原因如下:
    1. 開源,免費。
    2. 主流,速度快,效能足夠。
    3. 使用者多,社群活躍。
    4. 配套工具多,簡單易用。

安裝MySQL

  1. Homebrew
    可以選擇官網下載安裝,但是命令列畢竟方便太多了,如果沒有homebrew,請開啟Terminal,使用以下命令安裝。
    # 安裝homebrew
    ruby -e "$(curl -fsSL  https://raw.githubusercontent.com/Homebrew/install/master/install)"
    # 驗證安裝正確
    brew doctor複製程式碼
  2. 安裝MySQL
    brew install mysql複製程式碼
    此時注意到提示如下,所以先啟動服務,再執行相關命令:

    We’ve installed your MySQL database without a root password. To secure it run:
    mysql_secure_installation

  3. 啟動MySQL服務
    mysql.server start複製程式碼
  4. 按提示mysql_secure_installation,設定使用者名稱以及密碼
    mysql_secure_installation複製程式碼
    這裡按照提示一步一步設定就可以了,主要包括,選定密碼強度,設定密碼,確認密碼,是否刪除無密碼使用者,是否允許遠端root登入,刪除自帶test資料庫。
  5. 登入測試一下
    mysql -u root -p複製程式碼

MySQL基本命令

雖然作為FE,我們最終選擇了圖形化管理工具Squel Pro,但是一些基本的命令還是需要掌握的。應用場景還是很多,比如,只是想做一個快速校驗,或者是在他人電腦上,以及遠端登入資料庫時。

  1. 基本命令
    // 檢視有哪些資料庫
    show databases;
    // 檢視當前使用的是哪個資料庫
    select database();
    // 選擇資料庫
    use [database-name];
    // 顯示資料庫中的tables
    show tables;
    // 建立資料庫
    CREATE DATABASE [new-database-name];複製程式碼
  2. 新建使用者。
    // 給localhost建立使用者nodejs,並將密碼設定為nodejs
    CREATE USER 'nodejs'@'localhost' identified by 'nodejs';
    // 將使用者許可權資訊從資料表同步到記憶體(此命令可以避免重啟mysql服務)
    FLUSH PRIVILEGES;複製程式碼
  3. 授予許可權。
    接下來我們為當前應用建立一個名為nodejs的資料庫,並將其許可權全部賦予user nodejs.
    CREATE DATABASE nodejs; 
    GRANT ALL PRIVILEGES ON nodejs.* TO 'nodejs'@'%' IDENTIFIED BY 'nodejs';複製程式碼

Sequel Pro

Sequel Pro.png
Sequel Pro.png

登陸後軟體介面如上圖所示。可以簡單看到如下功能:

  1. 左上角資料庫選擇,可以管理資料庫
  2. 左側欄TABLES,可以管理資料表
  3. 中間主要區域,可以管理資料表中資料。
  4. 右上角Users,可以管理使用者。
  5. 右上角Console,可以方便執行Mysql命令。
安裝

官網下載安裝包後執行即可。

登入

介面如下,輸入Host,Username,Password即可登入。此處建議使用新建的nodejs使用者登入管理nodejs資料庫。除建立新使用者、給新使用者授予許可權外,為安全原因,不建議使用root使用者。

login.png
login.png

使用

登陸後點選右上角,可以看到選擇資料庫,新建資料庫等等資訊,就可以開始檢視、管理資料庫了。由於工具本身圖形介面做的重點突出使用方便,此處不再贅述。

choose database.png
choose database.png

相關文章