Mac安裝壓縮版MySQL Server

想想牛牛会怎么做發表於2024-04-07

本文詳細記錄一次在Mac中安裝MySQL Server的過程,安裝環境如下:

  • MacOS 14.4
  • x86, core i7

在MySQL資料庫實驗環境下通常都要安裝其MySQL Server,安裝方式五花八門,最簡單的有透過系統包管理工具一鍵安裝,例如aptyum等,這種安裝方法會使得MySQL按照標準設計將檔案分散在多個檔案路徑中,在需要刪除的時候比較麻煩。如果你的作業系統中已經安裝了Docker那麼就更簡單了,只需要拉取映象啟動容器就完成了。除此之外還可以使用壓縮包方式安裝,優點就是檔案集中,只需要下載並簡單配置就可以使用。

首先,我們可以在MySQL官網選擇合適版本下載。這裡我選擇了x86架構的安裝包,M1使用者可以選擇arm架構。x86下載地址arm下載地址
image

這裡我放在~/blog-assert路徑中,可以按照自己的需要進行更改。
image

可以看到這是一個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

這裡有兩個重要的路徑binsupport-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就結束了。

相關文章