ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

MySQL 8.0 安装配置全攻略:从零搭建稳定数据库环境

MySQL 8.0 安装配置全攻略:从零搭建稳定数据库环境 1. 为什么我建议你从MySQL 8.0开始如果你正准备踏入后端开发、数据分析或者任何需要持久化存储数据的领域那么数据库是你绕不开的一环。在众多选择中MySQL以其开源、稳定、高性能和极佳的社区生态成为了事实上的标准之一。而MySQL 8.0作为当前最新的主要版本它带来的不仅仅是性能的提升更有一系列让开发更爽、运维更稳的新特性比如窗口函数、通用表表达式CTE、JSON功能的增强、以及默认更安全的caching_sha2_password认证插件。但很多新手甚至一些有经验的开发者在第一次安装配置MySQL 8.0时依然会踩进一些“坑”里。比如安装后死活连不上密码策略太复杂导致设置失败或者想从远程访问却发现被防火墙和权限双重阻挡。网上的教程很多但要么过于简略跳过了关键步骤要么环境不同导致照搬失败。这篇内容就是把我自己从零开始在Windows和Linux以CentOS/Ubuntu为例两大主流平台上反复安装、配置、排错的经验整理成一份超详细的指南。我不会只告诉你点哪里、输什么命令我会重点解释每一步背后的逻辑为什么要这样配置如果选其他选项会怎样以及那些官方文档里不会写的、但实际工作中一定会遇到的“坑”和解决方案。目标很简单让你看完之后能独立、顺利地在自己的机器上搭起一个“能用、好用、知道怎么用”的MySQL 8.0环境。2. 战前准备选择你的“战场”与“武器”安装数据库不是无脑点击“下一步”事先的规划能避免后续很多麻烦。这里主要涉及两个选择操作系统和安装包。2.1 操作系统选择Windows vs LinuxWindows适合个人学习、开发测试特别是你的主要开发环境就在Windows上。图形化安装界面友好集成度高。但通常不用于生产服务器环境。Linux生产环境的绝对主流。无论是CentOS、Ubuntu还是其他发行版通过包管理器如yum,apt或二进制包安装更灵活、资源占用更少且易于脚本化部署和管理。我的建议如果你是初学者从Windows开始直观感受没问题。但若志在运维或后端开发尽早熟悉Linux下的安装与配置是必须的。本篇将涵盖两种环境。2.2 安装包选择Installer vs Archive vs 包管理器对于MySQL 8.0官方提供了几种获取方式MySQL Installer (仅Windows)这是最推荐Windows用户使用的方式。它是一个集成的安装工具不仅安装MySQL服务器还可以同时安装MySQL Workbench图形化管理工具、Connectors各种语言的连接驱动等并能统一管理多个MySQL版本实例的安装、升级和移除非常省心。ZIP Archive (Windows/Linux)绿色压缩包形式。适合需要自定义安装路径、或者希望在一台机器上部署多个独立MySQL实例的高级用户。需要手动进行较多的初始化配置。Linux 包管理器在Linux上最简单的方式是使用系统自带的包管理器。Ubuntu/Debian使用apt。通常需要先添加MySQL的官方软件源APT Repository以获取最新版本。CentOS/RHEL使用yum。同样建议添加MySQL的官方Yum Repository。为什么我推荐Windows用InstallerLinux用包管理器因为它们能自动处理依赖库、服务注册、配置文件路径等琐事。对于绝大多数“安装并使用”的场景这是最稳妥、出错率最低的路径。ZIP Archive方式则留给有特定定制化需求的场景。注意无论哪种方式请务必从MySQL官方网站dev.mysql.com下载以确保文件完整和安全。避免使用来路不明的第三方打包版本。2.3 环境检查与依赖Windows确保系统是Windows 10或更高版本并安装了最新的系统更新。Installer通常会帮你检查并安装必要的运行库如Visual C Redistributable。Linux确保系统有网络连接并且当前用户具有sudo权限。不同的Linux发行版可能需要不同的基础依赖包管理器在安装时会自动解决但为了保险可以提前安装一些通用工具# Ubuntu/Debian sudo apt update sudo apt install wget gnupg lsb-release # CentOS/RHEL 7/8 sudo yum install wget3. Windows平台图形化安装步步为营我们首先走通最直观的Windows安装路径。3.1 下载与启动MySQL Installer访问MySQL官网下载页面选择“MySQL Installer for Windows”。通常你会看到两个版本mysql-installer-web-community在线安装约2MB和mysql-installer-community离线安装约400MB。我强烈建议下载离线安装包尤其在国内网络环境下它能避免安装过程中因下载失败导致的各类问题。运行下载好的.msi安装程序。如果系统弹出用户账户控制UAC提示点击“是”。3.2 安装类型选择理解每种选择的含义启动后你会看到“Choosing a Setup Type”界面这里有几种类型Developer Default开发者默认。会安装MySQL服务器、MySQL Shell、MySQL Router、MySQL Workbench、示例和文档等全套工具。这是为全栈开发者准备的一站式套餐占用空间较大约1GB。如果你是纯粹的学习或只需要服务器可以不选这个。Server only仅安装MySQL服务器。最纯净的选择适合已经拥有其他管理工具或喜欢命令行操作的用户。Client only仅安装客户端工具如Workbench, Shell。用于连接远程已有的MySQL服务器。Full安装所有产品和功能。除非你非常确定需要所有组件否则不推荐。Custom自定义。这是我最推荐给大多数用户的选项因为它让你完全掌控安装哪些组件并且可以清晰地看到安装路径。这里我们选择“Custom”然后点击“Next”。3.3 自定义组件选择与安装路径设置在“Select Products and Features”界面左侧是可用产品列表右侧是已选产品列表。在左侧“MySQL Servers” - “MySQL Server” - “MySQL Server 8.0”上点击右键选择添加箭头将其移到右侧。你也可以顺便添加“MySQL Workbench 8.0”到右侧这是一个极好的图形化管理工具。选中右侧已添加的“MySQL Server 8.0”下方会显示“Advanced Options”。点击它这里可以设置安装目录Installation Path和数据目录Data Path。安装目录MySQL程序文件所在位置。默认在C:\Program Files\MySQL\下可以不改。数据目录你的所有数据库文件表、索引等存放的位置。这是关键默认在C:\ProgramData\MySQL\MySQL Server 8.0\DataProgramData是隐藏文件夹。如果你的C盘空间紧张强烈建议将数据目录修改到其他盘符例如D:\MySQLData。请确保目标文件夹已存在或你有权限创建。提示修改数据目录能有效避免C盘被数据库文件快速占满。但请记住这个路径后续配置和备份都会用到。点击“Next”如果提示安装依赖如Python点击“Execute”让其自动安装。完成后进入正式安装环节点击“Execute”等待所有组件状态变为“Complete”。3.4 产品配置安全设置的灵魂安装完成后进入“Product Configuration”阶段。这是整个安装过程中最重要的一步。High Availability高可用性选项。对于单机学习开发选择“Standalone MySQL Server / Classic MySQL Replication”即可。如果选“InnoDB Cluster”会配置组复制适用于集群环境我们暂不涉及。Type and NetworkingConfig Type选择“Development Computer”开发机它会为MySQL分配适量的内存。如果是在生产服务器上根据负载选择“Server Computer”或“Dedicated Computer”。Port默认3306除非端口冲突否则不要改。Open Windows Firewall port for network access务必勾选这允许其他机器通过网络连接你的MySQL。如果不勾选只能本机localhost访问。Authentication MethodMySQL 8.0的核心变化之一。Use Strong Password Encryption for Authentication (RECOMMENDED)使用强密码加密caching_sha2_password。这是MySQL 8.0的默认且推荐的方式更安全。但一些旧的客户端驱动或程序如某些老版本的PHP、Navicat可能不支持。如果你不确定或者需要兼容旧工具可以选下面那个。Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)使用传统认证方法mysql_native_password。兼容性好但安全性稍弱。我的建议除非你明确知道你的连接工具不支持新方法否则坚持使用推荐的强密码加密。这是未来的趋势大部分现代驱动如MySQL Connector/J 8.0, Connector/Python 8.0都已支持。Accounts and Roles设置root用户的密码。输入一个强密码并牢记。MySQL 8.0有密码强度要求太简单的密码如‘123456’会被拒绝。“Create a user with full access for remote connections from any host” – 这个选项会创建一个拥有远程访问权限的超级用户出于安全考虑学习环境可以不勾选。远程访问权限我们后面手动精细控制更好。Windows ServiceWindows Service Name默认MySQL80。可以不改。Start the MySQL Server at System Startup是否开机自启。根据需求选择。Apply Configuration点击“Execute”让安装程序应用以上所有配置。它会执行一系列脚本初始化数据目录、创建系统表、设置root密码、注册Windows服务等。看到所有步骤打勾完成点击“Finish”。3.5 安装后验证与初步连接打开Windows的“服务”管理services.msc找到“MySQL80”服务确认其状态为“正在运行”。打开命令提示符CMD或 PowerShell。输入以下命令连接MySQL假设你将MySQL的bin目录添加到了系统PATH如果没有需要先cd到C:\Program Files\MySQL\MySQL Server 8.0\binmysql -u root -p回车后输入你刚才设置的root密码。如果成功你会看到MySQL的命令行提示符mysqlmysql SELECT VERSION();执行上述SQL如果正确返回8.0.x的版本信息恭喜你Windows下的MySQL 8.0服务器安装成功4. Linux平台命令行下的精准掌控Linux下的安装更偏向“工匠精神”每一步都清晰可见。我们以Ubuntu 22.04 LTS为例使用APT仓库安装。4.1 添加MySQL官方APT仓库使用包管理器安装首先需要让系统知道从哪里获取MySQL软件。MySQL提供了自己的官方仓库这能确保我们获得最新版本和经过优化的包。# 1. 下载MySQL APT仓库配置包。访问官网获取最新链接以下链接可能随时间变化。 wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb # 2. 安装该配置包它会弹出对话框让你选择MySQL版本和组件。 sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb在弹窗中用方向键选择“Ok”确认默认选项通常会选择MySQL 8.0作为默认版本即可。完成后这个包已经帮我们配置好了软件源。# 3. 更新本地软件包索引使系统识别新添加的MySQL源。 sudo apt update4.2 安装MySQL服务器软件包现在可以正式安装MySQL服务器了。sudo apt install mysql-server安装过程中不会像Windows那样弹出图形化配置向导。所有配置将在安装完成后通过一个安全脚本进行。4.3 运行安全配置脚本mysql_secure_installation这是Linux安装后至关重要的一步用于进行一系列安全加固。sudo mysql_secure_installation脚本会依次询问你以下问题请根据提示操作VALIDATE PASSWORD COMPONENT是否安装密码验证组件这个组件可以强制要求用户设置符合一定强度的密码。对于生产环境建议输入y启用。它会让你选择密码策略等级0/LOW, 1/MEDIUM, 2/STRONG。学习环境可以选择0或1。Set root password为root用户设置密码。如果你上一步启用了验证组件输入的密码必须符合你选择的策略强度。Remove anonymous users是否移除匿名用户必须输入y。匿名用户允许任何人无需密码登录MySQL这是巨大的安全风险。Disallow root login remotely是否禁止root用户远程登录建议输入y。root权限太大只允许从本地localhost登录远程管理应使用普通账户并授权。Remove test database and access to it是否移除测试数据库test建议输入y。这个数据库默认对所有用户可访问移除可减少攻击面。Reload privilege tables now是否立即重载权限表输入y。让上述所有安全更改立即生效。4.4 检查服务状态与初步连接安装和配置完成后MySQL服务应该已经自动启动。# 检查MySQL服务状态 sudo systemctl status mysql.service你应该看到状态为“active (running)”。现在尝试连接# 使用root用户和刚才设置的密码登录 mysql -u root -p输入密码后进入mysql提示符执行SELECT VERSION();验证。Linux下的MySQL 8.0服务器也安装成功了。对于CentOS/RHEL系统步骤类似先去官网下载对应的Yum仓库配置包.rpm用yum localinstall安装该包然后yum install mysql-community-server最后同样运行sudo mysql_secure_installation进行安全配置。启动服务命令为sudo systemctl start mysqld。5. 核心配置详解让MySQL按你的想法工作安装成功只是第一步要让MySQL更好地为你服务必须理解并调整其核心配置文件my.cnfLinux或my.iniWindows。5.1 配置文件在哪里Linux (Ubuntu/Debian)主配置文件通常在/etc/mysql/my.cnf。它可能会包含其他目录的配置文件如/etc/mysql/mysql.conf.d/mysqld.cnf才是服务器配置的主要文件。Linux (CentOS/RHEL)通常在/etc/my.cnf或/etc/mysql/my.cnf。Windows默认在MySQL的安装目录下例如C:\ProgramData\MySQL\MySQL Server 8.0\my.ini注意ProgramData是隐藏文件夹。你可以使用MySQL命令查找mysql SHOW VARIABLES LIKE %config_file%;5.2 必须了解的配置项[mysqld] 段下修改配置文件前务必先备份然后重启MySQL服务使更改生效。端口与绑定地址port 3306 bind-address 127.0.0.1port监听端口。bind-address控制谁能连接。默认127.0.0.1只允许本机连接。如果需要允许其他机器连接可以改为0.0.0.0监听所有IP或指定的服务器IP。注意修改此项后必须同时配置防火墙和用户远程权限。数据目录与字符集datadir /var/lib/mysql # Linux默认 Windows可能是 D:\MySQLData character-set-server utf8mb4 collation-server utf8mb4_unicode_cidatadir数据存放路径。如果你在Windows安装时修改过这里应该对应。character-set-server和collation-server强烈建议设置为utf8mb4。这是真正的UTF-8编码支持所有Unicode字符包括emoji。utf8在MySQL中是一个“阉割版”最多3字节遇到4字节字符如某些emoji会出错。内存与连接配置max_connections 151 max_connect_errors 100 thread_cache_size 8max_connections最大并发连接数。根据应用负载调整太大会占用过多内存。max_connect_errors最大连接错误数。如果某个主机连接错误超过此数该主机将被禁止连接。可防止暴力破解。thread_cache_size线程缓存大小。保存多少空闲线程以供新连接使用可改善频繁建立连接的场景。InnoDB存储引擎配置innodb_buffer_pool_size 128M innodb_log_file_size 48M innodb_flush_log_at_trx_commit 1innodb_buffer_pool_size这是最重要的性能参数之一。InnoDB用来缓存数据和索引的内存池。对于专用数据库服务器可以设置为系统物理内存的50%-70%。innodb_log_file_size重做日志文件大小。影响崩溃恢复速度和大事务性能。innodb_flush_log_at_trx_commit事务提交时日志刷盘策略。1默认最安全每次提交都刷盘保证ACID2每秒刷盘性能更好但宕机可能丢失1秒数据0每秒刷盘且写日志性能最好但宕机可能丢失更多数据。非金融类应用2是安全与性能的较好平衡。5.3 配置修改与生效使用文本编辑器如Linux的vimWindows的Notepad以管理员/root权限打开配置文件。在[mysqld]段落下修改或添加上述参数。保存文件。重启MySQL服务# Linux (Systemd) sudo systemctl restart mysql # 或 mysqld # Windows (服务管理器或命令行) net stop MySQL80 net start MySQL80 # 或在服务管理器中重启“MySQL80”服务6. 用户、权限与远程访问构建安全防线默认安装后只有root用户可以从本地登录。一个良好的习惯是永远不要在生产环境中直接用root账户进行日常操作。我们应该创建专属的应用用户并赋予最小必要权限。6.1 创建新用户并授权假设我们要创建一个用户myappuser允许其从任何IP%访问数据库myappdb并拥有所有操作权限。首先用root登录MySQLmysql -u root -p执行以下SQL语句-- 1. 创建数据库如果不存在 CREATE DATABASE IF NOT EXISTS myappdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 2. 创建用户。‘%’表示允许从任何主机连接。请将‘YourStrongPassword123!’替换成高强度密码。 CREATE USER myappuser% IDENTIFIED BY YourStrongPassword123!; -- 3. 授予权限。GRANT ALL PRIVILEGES ON myappdb.* 表示授予myappdb数据库下所有表的所有权限。 GRANT ALL PRIVILEGES ON myappdb.* TO myappuser%; -- 4. 刷新权限使授权立即生效。这是关键一步很多新手会忘记 FLUSH PRIVILEGES;权限控制原则GRANT SELECT, INSERT, UPDATE ON myappdb.* TO ...只授予增删改查权限。GRANT ALL PRIVILEGES ON *.* TO ...授予所有数据库的所有权限类似root极度危险慎用。‘myappuser’‘192.168.1.%’只允许从192.168.1.0/24网段连接。‘myappuser’‘localhost’只允许从本机连接。6.2 允许远程访问的完整链条很多人在配置了用户‘%’后依然无法远程连接问题通常出在完整的链条没打通MySQL用户权限如上所述用户必须有‘%’或特定远程IP的授权。MySQL绑定地址配置文件中的bind-address不能是127.0.0.1需要改为0.0.0.0或服务器公网IP。操作系统防火墙Linux (UFW):sudo ufw allow 3306/tcpLinux (Firewalld):sudo firewall-cmd --permanent --add-port3306/tcp然后sudo firewall-cmd --reloadWindows: 在安装时如果勾选了“Open Windows Firewall port”则已放行。否则需手动在“高级安全Windows Defender 防火墙”中添加入站规则允许TCP端口3306。云服务器安全组如果你使用的是阿里云、腾讯云等云服务器必须在云控制台的安全组规则中放行入方向的3306端口。排查远程连接问题的命令 在MySQL服务器上查看用户的授权信息SELECT user, host FROM mysql.user WHERE user myappuser; SHOW GRANTS FOR myappuser%;6.3 修改root用户的认证插件兼容性问题如果你在安装时选择了强密码加密caching_sha2_password但一些旧的客户端工具如旧版Navicat、某些PHP驱动连接时报错“Authentication plugin ‘caching_sha2_password‘ cannot be loaded”你有两个选择方案A推荐升级你的客户端驱动或工具。这是治本的方法。方案B临时兼容将root用户的认证插件改回旧版不推荐长期使用ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY YourCurrentRootPassword; FLUSH PRIVILEGES;警告这会降低认证安全性。仅作为无法升级客户端时的临时解决方案。7. 基础操作与验证迈出第一步环境搭好了我们来执行一些最基本的操作验证一切正常。7.1 连接数据库# 使用新创建的用户从本地连接假设在服务器本机 mysql -u myappuser -p -h 127.0.0.1 -D myappdb # 或从远程客户端连接假设服务器IP是192.168.1.100 mysql -u myappuser -p -h 192.168.1.100 -D myappdb输入密码成功进入mysql提示符。7.2 执行简单的SQL-- 查看当前连接的数据库 SELECT DATABASE(); -- 在myappdb中创建一张测试表 CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 插入一条数据 INSERT INTO users (username, email) VALUES (test_user, testexample.com); -- 查询数据 SELECT * FROM users; -- 查看表结构 DESC users;7.3 常用的管理命令-- 查看所有数据库 SHOW DATABASES; -- 切换到另一个数据库 USE another_database; -- 查看当前数据库的所有表 SHOW TABLES; -- 查看MySQL运行状态和部分变量 STATUS; SHOW VARIABLES LIKE %version%; SHOW VARIABLES LIKE %char%; -- 查看字符集相关变量8. 安装后的优化与维护 Checklist安装配置不是终点要让MySQL稳定运行还需要一些日常维护意识。8.1 服务管理命令Linux# 启动服务 sudo systemctl start mysql # 停止服务 sudo systemctl stop mysql # 重启服务 sudo systemctl restart mysql # 查看服务状态 sudo systemctl status mysql # 设置开机自启 sudo systemctl enable mysql # 禁止开机自启 sudo systemctl disable mysql8.2 数据目录备份这是最重要的定期备份你的数据目录datadir。最简单的全量备份就是停止MySQL服务然后复制整个数据目录到安全的地方。更专业的做法是使用mysqldump进行逻辑备份或使用企业级备份工具。# 逻辑备份单个数据库 mysqldump -u root -p myappdb myappdb_backup_$(date %Y%m%d).sql # 逻辑备份所有数据库 mysqldump -u root -p --all-databases all_db_backup_$(date %Y%m%d).sql8.3 日志文件管理MySQL会生成多种日志错误日志、慢查询日志、二进制日志等它们默认位于数据目录或/var/log/mysqlLinux。定期检查并清理旧日志防止磁盘被占满。可以通过配置文件调整日志的路径和级别。8.4 考虑使用图形化管理工具虽然命令行功能强大但图形化工具能极大提升效率尤其是在进行表结构设计、数据浏览和复杂查询时。MySQL Workbench官方出品功能全面跨平台。在Windows安装器中可以直接勾选安装。DBeaver开源免费支持多种数据库功能强大。phpMyAdmin基于Web的经典工具适合在服务器上部署通过浏览器管理。9. 常见问题排坑指南即使按照教程你也可能遇到意外。这里汇总几个高频问题。9.1 安装过程中报错“无法启动服务”可能原因1端口冲突。3306端口已被其他程序如另一个MySQL实例、MariaDB、某些开发环境占用。解决在安装配置阶段换一个端口如3307或者停止占用3306端口的程序。检查端口占用# Windows netstat -ano | findstr :3306 # Linux sudo netstat -tlnp | grep :3306 sudo lsof -i :3306可能原因2数据目录权限问题Linux常见。MySQL的运行用户通常是mysql对数据目录如/var/lib/mysql没有读写权限。解决sudo chown -R mysql:mysql /var/lib/mysql sudo chmod -R 750 /var/lib/mysql sudo systemctl restart mysql9.2 忘记root密码这是一个经典问题。解决方法是通过--skip-grant-tables模式启动MySQL绕过权限验证进行重置。停止MySQL服务。以跳过权限表的方式启动MySQL# Linux sudo mysqld_safe --skip-grant-tables --skip-networking # Windows 需要以管理员身份打开CMDcd到bin目录 mysqld --console --skip-grant-tables --shared-memory另开一个终端/命令行用root无密码登录mysql -u root在MySQL中执行密码重置命令MySQL 8.0语法FLUSH PRIVILEGES; -- 先刷新权限 ALTER USER rootlocalhost IDENTIFIED BY YourNewStrongPassword; FLUSH PRIVILEGES; EXIT;关闭第一步中启动的MySQL进程然后正常启动服务。9.3 连接速度慢或“Lost connection”可能原因1DNS反向解析。MySQL默认会尝试解析客户端的主机名如果DNS服务器慢或不可达就会导致连接延迟。解决在MySQL配置文件[mysqld]段添加skip-name-resolve然后重启服务。这会让MySQL只使用IP地址不进行主机名解析。可能原因2wait_timeout和interactive_timeout设置过短。这两个参数控制非交互式和交互式连接的空闲超时时间秒。默认是288008小时如果设置过短长时间空闲的连接会被服务器断开。解决在配置文件中调整这两个参数例如设置为wait_timeout600和interactive_timeout60010分钟。9.4 性能问题初步诊断如果感觉数据库慢可以快速检查几个点查看当前连接数和状态SHOW PROCESSLIST; -- 查看正在执行的SQL SHOW STATUS LIKE Threads_connected; -- 当前连接数 SHOW VARIABLES LIKE max_connections; -- 最大允许连接数如果Threads_connected接近max_connections可能需要调大后者或者检查应用是否有连接泄漏未关闭连接。开启慢查询日志在配置文件中设置slow_query_log 1 slow_query_log_file /var/log/mysql/mysql-slow.log long_query_time 2 # 执行时间超过2秒的SQL会被记录重启服务后分析慢日志文件找出执行慢的SQL语句进行优化。走到这里你已经拥有了一个完全受你控制的MySQL 8.0数据库环境。从选择安装包到精细配置从用户权限管理到基础排错这套流程覆盖了从零到一的关键步骤。数据库运维是一门很深的学问索引优化、查询调优、主从复制、高可用架构等都是后续可以深入探索的方向。但无论如何一个正确、稳固的起点是这一切的基础。希望这份详细的指南能帮你扫清入门障碍把更多精力投入到业务开发和学习中去。如果在实践中遇到新的问题善用官方文档和社区搜索大部分难题都有前人遇到过并给出了答案。
返回列表