MySQL安装与注意事项
安装MySQL数据库
如果没有现成的数据库,可自行到官网下载安装:https://dev.mysql.com/downloads/mysql/
提示
- 以下示例展示的是手动安装的操作流程。
- 下载时请注意选择与你的操作系统及 CPU 指令集架构(如 x64、arm64)相匹配的版本。 以下安装过程以版本号为 8.0.42、架构为 arm64 的版本为例进行说明。
- 在 Linux/macOS 系统中,请使用默认终端;在 Windows 系统中,请使用 PowerShell(除非特殊指明使用CMD)。
一、版本选择
(一)macOS
Arm64 | ![]() |
Amd64 | ![]() |
(二)Linux
1、获取glibc版本
ldd --version
输出类似信息
ldd (Debian GLIBC 2.36-9+deb12u10) 2.36
Copyright (C) 2022 自由软件基金会。这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性或者适合某些特殊目的。由 Roland McGrath 和 Ulrich Drepper 编写。
选择与系统安装glibc
相近的版本。
2、安装依赖
安装libaio
依赖
包管理器 | 运行命令 |
---|---|
apt | apt-cache_ search libaio1 & apt-get install libaio1_ |
yum | yum_ search libaio & yum install libaio_ |
(三)Windows

二、安装
(一)解压
解压到当前目录,为了方便操作可选择性建立软链
# macOS
tar zxvf mysql-8.0.42-macos15-arm64.tar.gz -C ./
# 建立软链
ln -s mysql-8.0.42-macos15-arm64 mysql
# Linux
tar Jxvf mysql-8.0.42-linux-glibc2.28-aarch64.tar.xz -C ./
# 建立软链
ln -s mysql-8.0.42-linux-glibc2.28-aarch64 mysql
# Windows
Expand-Archive .\mysql-8.0.42-winx64.zip .\
# 建立软链
New-Item -Path .\mysql\ -ItemType SymbolicLink -Target .\mysql-8.0.42-winx64\
(二)配置
macOS/Linux
# my.cnf
[mysqld]
# 表名存储与大小写敏感
lower-case-table-names = 1
# 默认时区
default-time-zone = '+08:00'
Windows
# my.ini
[mysqld]
# 表名存储与大小写敏感
lower-case-table-names = 1
# 默认时区
default-time-zone = '+08:00'
(三)安装
# macOS
# 修改二进制文件运行权限
xattr -r -d com.apple.quarantine mysql-8.0.42-macos15-arm64
# 命令行进入mysql安装目录
cd mysql-8.0.42-macos15-arm64
# 初始化mysql服务
./bin/mysqld --defaults-file=my.cnf --initialize
# Linux
# 添加系统用户组
groupadd mysql
# 添加系统用户
useradd -r -g mysql -s /bin/false mysql
# 命令行进入mysql安装目录
cd mysql-8.0.42-linux-glibc2.28-aarch64
# 创建mysql支持文件目录并授权
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
# 初始化mysql服务
./bin/mysqld --defaults-file=my.cnf --initialize --user=mysql
# Windows
# 命令行进入mysql安装目录
cd mysql-8.0.42-winx64
# 初始化mysql服务
.\bin\mysqld.exe --defaults-file=my.ini --initialize --console
(四)修改root密码
1、默认密码
在命令中运行初始化mysql服务命令之后会输出类似信息。
2025-04-27T03:17:38.853843Z 0 [System] [MY-013169] [Server] /Volumes/sm/build/mysql-8.0.42-macos15-arm64/bin/mysqld (mysqld 8.0.42) initializing of server in progress as process 9742
2025-04-27T03:17:38.855773Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /Volumes/sm/build/mysql-8.0.42-macos15-arm64/data/ is case insensitive
2025-04-27T03:17:38.859938Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-04-27T03:17:39.099986Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-04-27T03:17:40.096072Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: .u_p9JUy53Aj
2025-04-27T03:17:40.466111Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.42).
在输出信息中包含了默认生成的 root 密码。 请注意,在信息中 A temporary password is generated for root@localhost:
后面的内容即为默认的 root 密码。
2、启动MySQL服务
# macOS
nohup ./bin/mysqld --defaults-file=my.cnf >> mysql.nohup 2>&1 &
# Linux
nohup ./bin/mysqld --defaults-file=my.cnf --user=mysql >> mysql.nohup 2>&1 &
# Windows
.\bin\mysqld.exe --defaults-file=my.ini
3、登录命令行客户端
# macOS/Linux
./bin/mysql -uroot -p
# Windows
.\bin\mysql.exe -uroot -p
输入上文日志中输出的密码进行登录
4、修改密码
修改密码为shushi@2019
注意
此为示例密码,可随个人习惯修改密码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'shushi@2019';
至此MySQL服务安装成功。
三、停止
注意
命令中为示例密码,可替换为个人修改的密码。
# macOS/Linux
./bin/mysqladmin shutdown -uroot -pshushi@2019
# Windows
.\bin\mysqladmin.exe shutdown -uroot -pshushi@2019
四、数据库配置常见问题
(一)允许远程连接
# 打开远程连接
use mysql;
update user set host='%' where user='root';
flush privileges;
quit;
注意:如有其他环境配合体验,网络需互通
安装成功,大家可以使用自己的工具去测试一下看能不能连上,如果连不上看下是不是开了防火墙。
(二)时区问题
# 修改:my.cnf (macOS ) / my.ini (windows)
default-time-zone= '+08:00'
注意:如果出现时区问题会报以下错误
error creating bean with name 'dataSourceAutoRefreshManager': Invocation of init method failed; nested exception is PamirsException level: ERROR, code: 10150008, type: SYSTEM_ERROR, msg: 创建数据库错误, extra:, extend: null
Caused by: java.sql.SQLException: The server time zone value 'й ʱ' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.