尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

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

MySQL 8.0保姆级安装配置指南:从零到生产环境部署

MySQL 8.0保姆级安装配置指南:从零到生产环境部署 1. 项目概述为什么MySQL 8.0值得你花时间如果你正在搭建一个网站、开发一个应用或者准备学习后端技术数据库是你绕不开的一环。而MySQL作为全球最流行的开源关系型数据库之一几乎成了这个领域的“普通话”。我从业十多年从早期的MySQL 5.5一路用到现在的8.0亲眼见证了它从“够用”到“强大”的蜕变。今天这个教程我不想把它写成一本冰冷的说明书而是想和你分享一套我经过无数次部署、踩过无数坑后总结出的“保姆级”安装与配置心法。无论是Windows、macOS还是Linux无论是为了本地开发还是生产环境我都会把每一步背后的“为什么”讲清楚让你不仅能把MySQL装上更能理解每一个配置项的意义真正掌控你的数据层基础。MySQL 8.0相比之前的5.7版本带来了性能、安全和管理上的巨大提升比如默认的身份验证插件改成了更安全的caching_sha2_password支持窗口函数、通用表表达式CTE等现代SQL特性。但“能力越大配置越复杂”很多新手在安装第一步就被各种选项和报错劝退。这个教程的目标就是帮你平滑度过这个阶段建立一个既安全又高性能的MySQL 8.0环境。我们会从最基础的安装包获取开始一步步走到优化配置和基础安全加固过程中遇到的典型问题我也会把我的排查记录和解决方案一并奉上。2. 安装前的核心准备与规划安装数据库不是点“下一步”就完事了尤其是对于生产环境或严肃的开发环境。前期的规划直接决定了后续运维的复杂度和系统的稳定性。这一步花上半小时思考能省下后面无数个小时的折腾。2.1 环境与版本选择别在起跑线选错路首先确定你的操作系统。虽然MySQL支持多平台但不同平台的安装包和依赖管理方式差异很大。Windows: 通常选择图形化的MSI安装包过程直观适合新手和开发机。但要注意Windows上作为服务运行时对文件路径、权限的处理和Linux有区别。macOS: 推荐使用Homebrew包管理器安装brew install mysql这是最“mac”的方式管理起来非常方便。当然你也可以下载官方的DMG安装包。Linux (如CentOS/RHEL, Ubuntu/Debian): 这是MySQL最常见的生产环境。安装方式多样可以用系统自带的包管理器yum或apt可以下载官方的RPM/DEB包也可以使用最灵活但也最复杂的通用二进制包Tarball。对于生产环境我强烈建议使用官方仓库的RPM/DEB包能更好地与系统集成方便后续升级和安全更新。其次是版本选择。访问MySQL官方网站你会发现有多个版本MySQL Community Server: 我们通常说的免费开源版功能强大完全够用。本教程基于此版本。MySQL Enterprise Edition: 商业版提供额外的企业级功能、工具和技术支持。MySQL Cluster: 用于高可用性集群的版本。对于Community Server请务必下载8.0的最新GA通用可用性版本而不是最新的开发版。同时注意区分安装包类型如Installer、ZIP Archive。注意从MySQL 8.0.11开始Windows的ZIP Archive包不再包含data目录和my.ini文件需要手动初始化这对新手是个小挑战但也是理解MySQL启动过程的好机会。2.2 关键决策安装路径、数据目录与端口在点击安装按钮前心里要对下面几个问题有数安装在哪里不要使用默认的C:\Program Files\Windows或/usr/local/mysqlLinux就了事。考虑磁盘空间、I/O性能和备份的便利性。我个人的习惯是在Windows上我会专门创建一个D:\Database\MySQL\这样的目录在Linux上如果数据量预期很大我会将数据目录datadir挂载到一块独立的、性能更好的硬盘或SSD上比如/data/mysql。数据存在哪里datadir是数据库所有表数据、索引、日志的存放地。它必须和安装目录分开。这样做的巨大好处是当你需要升级MySQL软件版本时可以直接替换安装目录而宝贵的数据完全不受影响。默认路径通常在安装目录下的data文件夹但最好在配置文件中显式指定一个独立的路径。用什么端口MySQL默认使用3306端口。确保这个端口没有被其他服务比如本机另一个MySQL实例或某些开发工具占用。你可以通过命令netstat -ano | findstr :3306Windows或sudo lsof -i:3306Linux/macOS来检查。设置什么字符集为了避免中文乱码这个经典问题必须在安装初期就统一字符集。MySQL 8.0的默认字符集已经是utf8mb4校对规则是utf8mb4_0900_ai_ci。utf8mb4是真正的UTF-8完全支持Emoji和所有Unicode字符绝对不要再使用旧的utf8。在配置文件中我们需要确保服务器、数据库、表和连接级别的字符集都统一设置为utf8mb4。3. 分平台详细安装实战理论说完我们进入实战环节。我会以最常见的WindowsMSI Installer和LinuxUbuntu 22.04 LTS using APT为例展示两种风格迥异但都至关重要的安装流程。3.1 Windows平台图形化安装的细节掌控在Windows上从官网下载那个体积较大的MySQL Installer MSI文件。运行后你会看到几个安装类型选项Developer Default: 安装MySQL Server和全套开发工具Workbench, Shell, Router等。适合纯粹的学习和开发。Server only: 只安装MySQL服务器最纯净。Client only: 只安装客户端工具。Custom: 自定义选择组件。我推荐高级用户使用这个可以精确控制。即使选择“Developer Default”或“Server only”在安装过程中也有几个关键界面需要留心类型和网络设置Type and Networking:Config Type: 这里有“Development Computer”、“Server Computer”、“Dedicated Computer”选项。它主要影响内存分配等默认配置。对于个人开发电脑选“Development Computer”即可如果你是在一个内存充裕的服务器上安装可以考虑“Server Computer”。端口和连接方式: 确认端口3306。下方的“防火墙例外”一定要勾选否则Windows防火墙会阻止外部连接如果你需要的话。Open Windows Firewall port for network access这个选项很重要。命名管道和共享内存: 除非有特殊的老旧应用需求否则不用管。身份验证方法Authentication Method:这是MySQL 8.0的一个重大变化。你会看到两个选项Use Strong Password Encryption for Authentication (RECOMMENDED): 使用caching_sha2_password插件。这是8.0的默认且推荐的方式更安全。但一些旧的客户端如某些PHP版本、老的Navicat可能不支持。Use Legacy Authentication Method (Retain MySQL 5.x Compatibility): 使用旧的mysql_native_password插件。如果你的应用生态链里还有不支持新插件的组件就选这个。怎么选如果纯粹是新项目毫不犹豫选强加密。如果为了兼容遗留系统可以选传统方式但要知道这是安全性的妥协。安装后也可以修改用户插件但不如一开始就选对来得干脆。设置root密码和创建用户Accounts and Roles:为root用户设置一个强密码。不要留空不要用‘123456’。下方可以“添加用户”但我建议安装完成后再通过SQL命令创建更灵活。“Windows服务名”可以保持默认MySQL80如果你要安装多个实例则需要修改。Windows服务配置Windows Service:确保“Start the MySQL Server at System Startup”被选中这样MySQL会随系统启动。务必勾选“Standard System Account”作为运行账户而不是“Custom User”。使用标准系统账户能减少很多因权限问题导致的启动失败。安装程序最后一步会执行应用配置如果一切顺利你会看到所有步骤打上绿勾。此时MySQL服务已经启动。你可以打开命令提示符CMD或PowerShell输入mysql -u root -p然后输入你设置的密码就能进入MySQL命令行客户端了。3.2 Linux平台命令行下的精准部署在Linux上我们追求的是清晰、可重复、易于自动化的部署过程。以Ubuntu 22.04为例。首先添加MySQL官方APT仓库这能保证我们获取到最新版本。# 下载仓库配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb # 安装该配置包会弹出一个文本界面让你选择版本 sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb在弹出的界面中用方向键选择“MySQL Server Cluster”回车选择“mysql-8.0”然后选择“OK”退出。更新包列表并安装sudo apt update sudo apt install mysql-server安装过程同样会弹出一个文本对话框让你设置root密码。设置一个强密码。安装完成后MySQL服务mysql.service会自动启动。你可以用sudo systemctl status mysql来检查运行状态。实操心得在Linux生产环境中我更喜欢在安装前就用apt-cache policy mysql-server查看默认版本并明确指定版本安装如sudo apt install mysql-server-8.0以避免仓库更新导致意外升级到不兼容的新版本。此外安装后立即运行sudo mysql_secure_installation安全初始化脚本虽然8.0的APT包安装后可能已部分执行它是一个交互式脚本会引导你设置验证密码强度插件。移除匿名用户。禁止root远程登录极其重要。移除测试数据库test。立即重载权限表。 这个脚本是生产环境安全基线配置的第一步务必执行。4. 核心配置文件my.cnf/my.ini的深度解析安装完成只是“能用”要让MySQL“好用”必须深入它的心脏——配置文件。在Windows上是my.ini在Linux/macOS上是my.cnf可能位于/etc/mysql/、/etc/或安装目录下。MySQL启动时会读取这个文件。很多时候性能问题、连接问题根源都在配置上。4.1 定位与基本结构首先找到你的配置文件。在MySQL命令行中执行SHOW VARIABLES LIKE %config%;查看datadir路径配置文件通常在同级或上级目录。也可以用mysql --help --verbose | grep -A 1 -B 1 my.cnf来查找读取顺序。一个典型的配置文件分为多个部分节[client] port3306 default-character-setutf8mb4 [mysql] default-character-setutf8mb4 [mysqld] port3306 basedirD:/Database/MySQL datadirD:/Database/MySQL/Data ...[client]: 客户端程序如mysql命令行工具的默认设置。[mysql]: 特指mysql命令行客户端的设置。[mysqld]:最重要的部分MySQL服务器守护进程的设置。4.2 关键参数调优详解针对[mysqld]下面我挑出几个最核心、最影响性能和行为的参数结合不同内存规模如2G、8G、16G的机器给出建议值。切记没有放之四海而皆准的配置必须根据实际负载调整。基础设置character-set-serverutf8mb4 collation-serverutf8mb4_0900_ai_ci default-storage-engineINNODB这三点是基石确保字符集正确、默认使用支持事务和外键的InnoDB引擎。连接与线程max_connections151 thread_cache_size10max_connections: 最大并发连接数。默认151。对于Web应用可能需要调高如300-500但注意每个连接都会消耗内存。盲目调高可能导致内存耗尽。监控Threads_connected变量来了解实际峰值。thread_cache_size: 线程缓存大小。当客户端断开连接后其线程会被缓存以便新连接快速使用。建议设置为max_connections的5%-10%。例如max_connections300这里可以设thread_cache_size30。内存相关这是调优核心innodb_buffer_pool_size128M key_buffer_size8M query_cache_size0innodb_buffer_pool_size:InnoDB最重要的参数没有之一。它相当于InnoDB的“内存数据缓存区”缓存表数据和索引。设置多大对于专用数据库服务器可以设置为物理内存的50%-70%。例如2G内存机器1G(1024M)8G内存机器4G-5G(4096M - 5120M)16G内存机器10G-12G(10240M - 12288M) 设置后观察SHOW ENGINE INNODB STATUS\G输出中BUFFER POOL AND MEMORY部分理想状态是Buffer pool hit rate接近100%。key_buffer_size: MyISAM引擎的键缓冲区。如果你只用InnoDB可以设小点比如16M或32M。query_cache_size:在MySQL 8.0中查询缓存Query Cache功能已被彻底移除所以这个参数设置任何值都无效在配置文件中保留它只是为了兼容性或者直接删掉。这是很多从5.7迁移过来的用户容易困惑的地方。MySQL团队移除它的原因是在高并发下查询缓存的锁竞争会严重降低性能且失效策略复杂。日志与持久化log_error/var/log/mysql/error.log slow_query_logON slow_query_log_file/var/log/mysql/slow.log long_query_time2 general_logOFFlog_error: 错误日志路径排查问题的第一站。slow_query_log: 慢查询日志必须开启。它能帮你找到性能瓶颈。long_query_time: 定义“慢”的阈值单位秒。生产环境可以从2秒开始逐步优化到1秒甚至0.5秒。general_log: 通用查询日志记录所有查询。仅在深度调试时临时开启因为它会产生巨大日志文件严重影响性能。InnoDB高级设置innodb_log_file_size48M innodb_flush_log_at_trx_commit1 sync_binlog1innodb_log_file_size: 重做日志Redo Log文件大小。更大的日志文件可以减少磁盘I/O但崩溃恢复时间会变长。对于中小型系统128M到1G是常见范围。修改这个值需要特殊步骤关闭MySQL删除旧的ib_logfile*修改配置再启动MySQL。innodb_flush_log_at_trx_commit: 控制事务持久性。1默认最安全每次提交都写入磁盘保证ACID的D持久性但性能最低。2每次提交只写到系统缓存每秒刷盘一次性能好但宕机可能丢失1秒数据。0每秒写日志和刷盘性能最好也最不安全。对数据一致性要求高的场景如金融必须用1。sync_binlog: 控制二进制日志Binlog刷盘策略。1推荐每次提交都刷盘最安全。0由操作系统决定性能最好但风险高。修改完配置文件后必须重启MySQL服务才能生效Windows:net stop MySQL80然后net start MySQL80(或在服务管理器中操作)Linux:sudo systemctl restart mysql5. 基础安全加固与用户权限管理一个刚安装好的MySQL默认配置是“门户大开”的。我们必须立即进行安全加固。5.1 运行mysql_secure_installation如前面Linux部分所述这个脚本是安全基线。在Windows上如果你用的是ZIP Archive安装可能需要手动执行类似步骤。其核心操作包括设置密码强度验证策略。移除匿名用户匿名用户允许任何人无需密码登录这是巨大的安全隐患。禁止root账户远程登录root权限太大只允许从本地localhost登录。这是生产环境的铁律。移除测试数据库test因为任何用户都能访问它。重载权限表使更改生效。5.2 创建专属应用用户并授权永远不要用root用户连接你的应用程序。正确的做法是为每个应用或服务创建独立的数据库用户并遵循最小权限原则。假设我们有一个名为myapp的数据库需要一个用户app_user来访问。-- 1. 创建用户并指定其只能从特定IP如应用服务器IP192.168.1.100或任何主机%不推荐生产连接 CREATE USER app_user192.168.1.100 IDENTIFIED BY YourStrongPassword123!; -- 如果应用与数据库同机限制为localhost更安全 -- CREATE USER app_userlocalhost IDENTIFIED BY YourStrongPassword123!; -- 2. 创建数据库 CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; -- 3. 授予权限。只授予该用户对myapp数据库的必要权限而不是所有数据库*.* GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, EXECUTE ON myapp.* TO app_user192.168.1.100; -- 更精细的控制比如只授予某个表的SELECT权限 -- GRANT SELECT ON myapp.some_table TO app_user192.168.1.100; -- 4. 立即刷新权限使授权生效 FLUSH PRIVILEGES;关键点IDENTIFIED BY后面跟的是明文密码MySQL会加密存储。app_user192.168.1.100是一个完整的用户标识意味着用户app_user只能从IP192.168.1.100的主机连接。app_user%表示可以从任何主机连接在生产环境中应尽量避免。GRANT语句精确控制了权限范围myapp.*代表myapp数据库下的所有对象和权限类型SELECT, INSERT等。完成后应用连接字符串中的用户名和密码就应使用app_user和对应的密码而不是root。5.3 其他安全建议定期更换密码为重要用户设置密码过期策略。审计考虑启用审计插件或使用general_log临时来监控可疑活动。防火墙在服务器防火墙如iptables, firewalld, Windows防火墙上严格限制3306端口的入站连接只允许可信的应用服务器IP访问。6. 图形化工具选型与连接测试命令行mysql client强大但图形化工具能极大提升效率尤其是在数据库设计、数据浏览和查询优化时。MySQL Workbench (官方出品)功能最全跨平台。支持SQL开发、数据建模EER图、服务器管理用户、状态、配置、数据迁移、备份恢复。它是DBA和开发者的瑞士军刀。安装MySQL Installer时通常已包含。DBeaver (社区版免费)通用数据库工具支持MySQL、PostgreSQL、Oracle等几十种数据库。界面现代化功能丰富对于需要连接多种数据库的用户是绝佳选择。Navicat for MySQL (商业软件)非常流行界面直观易用在数据同步、数据传输和报表方面做得不错。但需要购买许可证。HeidiSQL (Windows, 免费)轻量级快速专为MySQL设计。对于日常的查询、表结构修改、数据编辑非常方便。连接测试 无论使用哪种工具连接测试的步骤和参数都类似连接名自定义如“本地MySQL”。主机名/IP地址localhost或127.0.0.1本地远程服务器则填其IP或域名。端口3306。用户名root或你创建的app_user。密码对应的密码。SSL如果服务器配置了SSL需要选择相应选项并上传证书。对于内网或测试环境通常可以先不启用。点击“测试连接”成功即可。如果失败请根据错误信息如“Access denied”、“Can‘t connect to MySQL server”进入下一章的排查环节。7. 安装与配置过程中的常见问题全记录这里是我和同事们多年积累的“踩坑”大全几乎涵盖了新手会遇到的所有问题。7.1 安装失败类问题问题1Windows安装时进度条卡在“Starting the server”或“Applying security settings”失败。可能原因A端口3306被占用。可能是之前安装的MySQL未卸载干净或者其他软件如Skype早期版本、某些游戏服务占用了该端口。排查与解决打开CMD以管理员身份运行netstat -ano | findstr :3306。如果看到监听记下PID最后一列。打开任务管理器在“详细信息”选项卡中找到对应PID的进程结束它。如果是旧的MySQL服务可能需要运行sc delete MySQL80删除服务再重新安装。或者在安装向导的“Type and Networking”步骤直接换一个端口比如3307。可能原因B权限不足。安装程序需要创建服务、写入注册表等。解决始终以管理员身份运行MySQL Installer。问题2Linux使用APT安装时提示“Unable to locate package mysql-server”或依赖错误。可能原因未正确添加MySQL官方仓库或本地包列表未更新。解决确保按照前面步骤正确添加了仓库mysql-apt-config包。运行sudo apt update刷新列表。如果仍有问题检查/etc/apt/sources.list.d/目录下是否有mysql的list文件并检查其内容是否正确。7.2 服务启动失败类问题问题3服务无法启动错误日志error log显示“InnoDB: Operating system error number 5 in a file operation”或“Permission denied”。可能原因MySQL服务账户如mysql用户对数据目录datadir或其中的文件没有足够的读写权限。这在Linux上尤其常见特别是当你自定义了数据目录路径时。解决Linux找到你的数据目录路径在my.cnf中的datadir。确保该目录的所有者和组是mysql或你的MySQL运行用户。sudo chown -R mysql:mysql /your/data/dir/path确保权限正确sudo chmod -R 750 /your/data/dir/path重启MySQL服务sudo systemctl restart mysql。问题4服务启动失败错误日志显示“Different lower_case_table_names settings”。可能原因lower_case_table_names参数不一致。这个参数控制表名是否大小写敏感0-敏感1-不敏感2-按存储。在初始化数据库即第一次启动创建系统表后绝对不能修改这个值解决这是一个非常棘手的问题。如果是在初始化前可以在my.cnf中设置好通常Linux默认0Windows默认1。如果初始化后想改必须备份数据然后重新初始化数据库。所以最好在安装前就根据操作系统规范决定好Linux推荐0Windows推荐1。7.3 连接与身份验证类问题问题5使用图形化工具或程序连接时报错“Client does not support authentication protocol requested by server”。可能原因MySQL 8.0默认使用了新的caching_sha2_password身份验证插件而你的客户端工具或旧版驱动如某些老版本的PHP mysqlnd、Python MySQLdb还不支持它。解决有两种思路。方案A推荐升级客户端升级你的客户端库或驱动到支持新协议的版本。例如PHP应使用mysqli或PDO_MySQL扩展并确保libmysqlclient库是最新的。方案B修改用户插件兼容旧客户端如果暂时无法升级客户端可以修改用户的身份验证插件为旧的mysql_native_password。-- 修改root用户的插件不推荐长期使用 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY YourPassword; FLUSH PRIVILEGES; -- 或者为新创建的用户指定旧插件 CREATE USER old_app_user% IDENTIFIED WITH mysql_native_password BY YourPassword;问题6可以本地连接但无法远程连接。可能原因A用户没有远程访问权限。默认情况下用户如root的主机限制是localhost。解决A-- 检查用户权限 SELECT user, host FROM mysql.user; -- 如果root的host是localhost需要创建一个允许远程的root不推荐或创建一个新用户并授权。 CREATE USER remote_user% IDENTIFIED BY StrongPass; GRANT ALL PRIVILEGES ON *.* TO remote_user% WITH GRANT OPTION; FLUSH PRIVILEGES;警告%和GRANT ALL权限过大生产环境应严格限制IP和权限。可能原因B服务器防火墙或云服务商安全组未开放3306端口。解决BLinux (ufw):sudo ufw allow 3306/tcpLinux (firewalld):sudo firewall-cmd --permanent --add-port3306/tcp然后sudo firewall-cmd --reloadWindows: 在“高级安全Windows Defender 防火墙”中添加入站规则。阿里云/腾讯云等登录云控制台找到你的服务器实例配置安全组规则允许来源如0.0.0.0/0或特定IP段访问3306端口。可能原因CMySQL配置文件my.cnf中绑定了本地地址。解决C检查my.cnf中是否有bind-address 127.0.0.1这一行。如果希望监听所有IP可以将其注释掉#bind-address 127.0.0.1或改为bind-address 0.0.0.0。修改后需重启MySQL。7.4 性能与日常维护问题问题7数据库运行一段时间后越来越慢。排查思路检查慢查询日志这是首要步骤。分析long_query_time阈值以上的SQL看是否有全表扫描、未用索引、复杂JOIN或子查询。检查连接数SHOW STATUS LIKE Threads_connected;对比max_connections看是否接近上限。检查InnoDB缓冲池命中率SHOW ENGINE INNODB STATUS\G查看Buffer pool hit rate。如果低于99%考虑增加innodb_buffer_pool_size。检查锁等待SHOW ENGINE INNODB STATUS\G查看LATEST DETECTED DEADLOCK和TRANSACTIONS部分。检查磁盘I/O使用iostat等系统命令看磁盘是否已成为瓶颈。问题8如何安全地停止和启动MySQL服务正常停止在命令行中永远不要用kill -9。应该Linux:sudo systemctl stop mysqlWindows:net stop MySQL80或者在MySQL内执行mysqladmin -u root -p shutdown强制停止仅当正常停止失败时先尝试sudo systemctl kill -s SIGTERM mysql(发送终止信号)等待一段时间。如果无效再使用sudo systemctl kill -s SIGKILL mysql(强制杀死)。强制杀死可能导致数据损坏。启动Linux:sudo systemctl start mysqlWindows:net start MySQL80问题9忘记root密码怎么办这是一个经典问题。解决思路是让MySQL在启动时跳过权限验证。停止MySQL服务。创建一个文本文件比如/tmp/mysql-init.txt内容为ALTER USER rootlocalhost IDENTIFIED BY YourNewPassword;以跳过授权表的方式启动MySQLLinux:sudo mysqld_safe --skip-grant-tables --init-file/tmp/mysql-init.txt Windows: 需要修改my.ini在[mysqld]段添加skip-grant-tables和init-fileC:\\path\\to\\mysql-init.txt然后启动服务。等待几秒MySQL会执行文件中的SQL命令修改密码。关闭MySQL然后移除--skip-grant-tables选项或配置以正常方式重启。使用新密码登录。这个过程有安全风险务必在确保服务器物理或网络访问安全的情况下进行并在完成后立即移除初始化文件。走到这里你的MySQL 8.0应该已经是一个状态健康、配置得当、安全可控的数据库服务了。从规划、安装、配置到排错每一步的细节都决定着后续使用的顺畅程度。数据库管理是一个持续的过程安装配置只是第一步。接下来你需要结合具体的应用场景持续监控性能指标如QPS、连接数、慢查询并适时调整配置参数。养成定期备份物理备份如mysqldump或使用企业级工具如XtraBackup的习惯这是DBA的职业底线。希望这篇超详细的指南能成为你数据之旅的一块坚实垫脚石。如果在实际操作中遇到本教程未覆盖的古怪问题多查官方文档多看看错误日志那里面通常藏着答案。
返回列表