本文詳細記錄一次在Mac中安裝MySQL Server的過程,安裝環境如下:
- MacOS 14.4
- x86, core i7
在MySQL資料庫實驗環境下通常都要安裝其MySQL Server,安裝方式五花八門,最簡單的有透過系統包管理工具一鍵安裝,例如apt
和yum
等,這種安裝方法會使得MySQL按照標準設計將檔案分散在多個檔案路徑中,在需要刪除的時候比較麻煩。如果你的作業系統中已經安裝了Docker那麼就更簡單了,只需要拉取映象啟動容器就完成了。除此之外還可以使用壓縮包方式安裝,優點就是檔案集中,只需要下載並簡單配置就可以使用。
首先,我們可以在MySQL官網選擇合適版本下載。這裡我選擇了x86架構的安裝包,M1使用者可以選擇arm架構。x86下載地址,arm下載地址
這裡我放在~/blog-assert
路徑中,可以按照自己的需要進行更改。
可以看到這是一個tar.gz檔案,接下來我們使用命令解壓縮
mkdir mysql-server && tar -xzvf mysql-8.2.0-macos13-x86_64.tar.gz -C mysql-server --strip-components 1
這裡的-x
參數列示解壓縮,-z
參數列示處理gzip壓縮,-v
參數列示詳細顯示解壓過程,-f
參數列示處理檔案,--strip-components 1
表示刪除一層目錄結構
將檔名.tar.gz替換為你要解壓的檔案的實際名稱。解壓後,檔案會被解壓到與tar.gz檔案同名的目錄中。
此時目錄結構如下:
➜ mysql-server tree . -L 1
.
├── LICENSE
├── README
├── bin
├── docs
├── include
├── lib
├── man
├── share
└── support-files
8 directories, 2 files
這裡有兩個重要的路徑bin
和support-files
,下面我們將它配置在環境變數中。作者使用了zsh,因此相應的配置檔案是~/.zshrc
。我們使用vim編輯,在檔案最後新增以下內容:
...
export MYSQL_HOME=~/blog-assert/mysql-server
export PATH=$MYSQL_HOME/bin:$MYSQL_HOME/support-files:$PAT
新增完成之後:wq
退出,此時需要使用命令重新載入環境變數:source ~/.zshrc
,如果你用的是bash那麼就替換成source ~/.bashrc
。
此時我們在終端裡就可以使用mysql --version
來檢視是否配置成功了。
➜ mysql-server mysql --version
mysql Ver 8.2.0 for macos13 on x86_64 (MySQL Community Server - GPL)
接下來配置啟動伺服器,首先初始化root和服務,生成預設密碼,方便我們登陸。臨時密碼:
A temporary password is generated for root@localhost: 2q)7k;gljhsT,記錄該密碼。
➜ mysql-server sudo mysqld --initialize --user=root
2024-04-07T03:07:11.048660Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2024-04-07T03:07:11.058578Z 0 [System] [MY-013169] [Server] /Users/xx/blog-assert/mysql-server/bin/mysqld (mysqld 8.2.0) initializing of server in progress as process 26138
2024-04-07T03:07:11.069614Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /Users/xx/blog-assert/mysql-server/data/ is case insensitive
2024-04-07T03:07:11.087538Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-04-07T03:07:11.236394Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-04-07T03:07:12.529453Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 2q)7k;gljhsT
2024-04-07T03:07:13.184824Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.2.0).
2024-04-07T03:07:13.524827Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
為mysql-server建立系統軟連線
➜ blog-assert sudo ln -s ~/blog-assert/mysql-server /usr/local/mysql
Password:
啟動mysql,指定系統root使用者啟動mysql
sudo mysql.server start --user=root
Starting MySQL
.Logging to '/usr/local/mysql/data/yangsheng.local.err'.
. SUCCESS!
連線server,檢視安裝結果。
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.2.0
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
修改root使用者名稱密碼,因為現在使用的是預設的臨時密碼。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
到這裡Mac OS中安裝壓縮版的mysql server就結束了。