Mac 安裝MySQL有兩種方式。下面一一介紹
一、下載dmg包安裝
1、下載MySQL dmg 包, 從官網 : http://www.mysql.com/downloads/ 進入, 點擊下方的DOWNLOADS : MySQL Community Server

選擇dmg文件下載

接着, 會跳轉到如下頁面, 你只需要選擇不登錄,直接下載即可 
2、進入系統偏好設置,點擊MySQL,開啟MySQL服務
3、環境變量配置(windows也是這樣run的。可以不配置, 但每次必須在msyql的安裝目錄下,執行mysql命令。)
進入到用戶目錄下 執行 vim .bash_profile 。添加如下內容
##mysql export PATH=${PATH}:/usr/local/mysql/bin
快速啟動、結束MySQL服務, 可以使用alias命令
alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop'
我們就可以在任何地方執行mysql命令了。
如果你還沒有配置環境變量, 可以先進入MySQL安裝目錄, 再執行MySQL相關命令。安裝目錄在/user/local/mysql版本 。 我的目錄是
/usr/local/mysql-5.7.16-osx10.11-x86_64
遇到的問題順便在這里提下, 說不定能幫讀者少走點彎路, 參考資料 http://stackoverflow.com/questions/13480170/access-denied-for-mysql-error-1045
在終端直接輸入 Mysql -uroot -p , 彈出輸入密碼, 輸入密碼后就報如下錯誤
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
如果輸入 mysql -uroot , 會顯示另外一種錯誤
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
google了下, 找到了幾個解決方案
方案一 (以非授權模式啟動, 這樣可以不輸入密碼):
①、先把MySQL服務關了
msyqlstop
②、在終端輸入
sudo mysqld_safe --skip-grant-tables
③、新開另一個終端
直接輸入 mysql
④、修改下mysql默認密碼
注意 : mysql 5.7 密碼字段是字段 authentication_string, 而不是之前版本的 password 參考資料 http://bbs.bestsdk.com/detail/762.html
UPDATE user SET authentication_string=PASSWORD('root') WHERE user = 'root'
密碼修改可以參考下這篇博文 :http://zhouxuguang.blog.51cto.com/1053090/236292
方案二(授權模式啟動,需要輸入登錄安裝MySQL默認生成的密碼):
①、進入到安裝目錄,
cd /usr/local/mysql/bin
執行
mysql -uroot -p

再執行 show databases; 提示重置密碼。
重置密碼
SET PASSWORD = PASSWORD('root');

參考 https://stackoverflow.com/questions/33467337/reset-mysql-root-password-using-alter-user-statement-after-install-on-mac
4、下載安裝MySQL Workbench(GUI Tool)
訪問http://www.mysql.com/downloads/ 在下面有一個MySQL Workbench(GUI Tool)的項,點擊其下的DOWNLOAD即可進入下載界面:
環境變量配置(這個不難理解, 像window系統一樣,需要配置環境變量,Mysql命令才能被系統識別)
二、使用homebrew安裝MySQL(推薦)
1、安裝命令
brew install mysql
2、啟動MySQL
bash mysql.server start
3、mysql -uroot 登錄

參考文獻
http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html
