本文详细记录一次在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就结束了。