因個人能力有限,文章難免存在錯誤,望斧正,感謝。
版本:
- macOS 11.3 Intel版本
- MySQL 8.0.24 Compressed TAR Archive
一、准備所需文件
前往 https://dev.mysql.com/downloads/mysql/ 選擇macOS系統的Compressed TAR Archive版本下載,目前最新版本是8.0.24。下載后為~/Downloads/mysql-8.0.24-macos11-x86_64.tar.gz
。將其解壓至/usr/local
並重命名目錄為mysql:
% cd ~/Downloads/
% tar -zxvf mysql-8.0.24-macos11-x86_64.tar.gz
% sudo mv mysql-8.0.24-macos11-x86_64 /usr/local/mysql
二、調整目錄權限
這一步的目的是保證mysql程序可以在此目錄讀寫數據:
請將代碼中的[user]替換為當前用戶名
% cd /usr/local/
% sudo chown -R [user]:wheel mysql
三、初始化數據庫
由於macOS的安全機制,最好還是在執行命令前先打開“系統偏好設置”-“安全性與隱私”-“允許從以下位置下載的App:所有來源”
在終端中執行如下命令並輸入密碼后可以打開所有來源:
sudo spctl --master-disable
執行完后再次去系統偏好設置中確認是否打開允許所有來源。
% cd /usr/local/mysql/bin/
% sudo ./mysqld --initialize --user=mysql
初始化數據庫會在mysql目錄內創建data文件夾,執行完畢后:
2021-05-15T15:00:05.366701Z 0 [System] [MY-013169] [Server] /usr/local/my/bin/mysqld (mysqld 8.0.24) initializing of server in progress as process 4137
2021-05-15T15:00:05.380284Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/my/data/ is case insensitive
2021-05-15T15:00:05.404662Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-05-15T15:00:05.649401Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-05-15T15:00:06.348791Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ?/LNo#lwo3N6
2021-05-15T15:00:07.009105Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.24).
記住初始化數據庫生成的臨時密碼,也就是A temporary password is generated for root@localhost:
后的內容,注意冒號后有一個空格不算在臨時密碼中。
如果不小心忘記了臨時密碼,刪除mysql目錄下的data文件夾重新執行初始化操作。
四、啟動MySQL服務
完成第三步后數據庫就已經初始化完成了,此時啟動MySQL服務后就可以連接到MySQL數據庫了。具體操作如下:
% cd /usr/local/mysql/support-files/
% ./mysql.server start
看見SUCCESS就說明啟動MySQL服務成功。
除了start啟動選項以外,還有stop(停止)restart(重新啟動)status(狀態)等。
五、修改MySQL密碼
首次連接MySQL需要修改臨時生成的密碼,首先使用臨時密碼登陸MySQL,操作如下:
% cd /usr/local/mysql/bin/
% ./mysql -u root -p
然后修改MySQL密碼,操作如下:
將代碼中的[newPassword]替換成新密碼
mysql> ALTER USER root@localhost IDENTIFIED BY [newPassword]
到這里MySQL基本可以使用了。
六、配置Path
還有一個問題就是每次電腦重啟后需要重新進入/usr/local/mysql/support-files/
目錄執行啟動MySQL服務命令,每次連接MySQL都需要先進入/usr/local/mysql/bin
目錄,十分麻煩。
配置Path可以稍微解決這個問題,因為目前macOS默認shell是zsh,所以這里是zsh的Path配置。
在~目錄下創建文件.zprofile
並寫入如下內容:
export PATH="/usr/local/mysql/bin:/usr/local/mysql/support-files:${PATH}"
這樣不管在什么目錄都可以直接執行mysql.server start
命令啟動MySQL服務或mysql -u root -p
命令連接MySQL
參考:https://www.cnblogs.com/yjmyzz/p/how-to-install-mysql8-on-mac-using-tar-gz.html