编译安装的Mysql5.7报"Couldn’t find MySQL server (mysqld_safe)"的原因 笔记250709

MySQL 的安装路径与配置文件(如 my.cnf 或 mysql.server)中指定的 basedir 不一致。
mysqld_safe 文件实际位置与系统查找路径不匹配(常见于自定义安装路径)。

编译配置中,多次指定 basedir 和 data 的位置, 并且位置出现差异

















1️⃣ 参考 1

编译安装MySQL 5.7报"Couldn’t find MySQL server (mysqld_safe)"的原因及解决方案

一、核心原因分析

  1. 路径配置错误

    • 自定义安装路径未正确配置:编译安装时,用户通过--prefix参数指定了非标准路径(如/usr/local/mysql),但未在配置文件(如my.cnf)或启动脚本中正确设置basedir,导致系统无法定位mysqld_safe文件。
    • 启动脚本路径硬编码:系统服务脚本(如/etc/init.d/mysql)或手动编写的启动命令中,mysqld_safe的路径与实际安装路径不一致。
  2. 文件缺失或权限问题

    • 编译安装失败:安装过程中可能因依赖缺失或编译错误导致mysqld_safe文件未生成。
    • 文件权限不足:MySQL安装目录或文件的权限未正确设置,导致系统无法访问mysqld_safe
  3. 环境变量未配置

    • PATH环境变量缺失:系统环境变量PATH未包含MySQL的bin目录,导致无法直接调用mysqld_safe等可执行文件。

二、解决方案

1. 验证mysqld_safe文件路径

  • 查找文件实际位置
    find / -name mysqld_safe 2>/dev/null
    
    • 常见编译安装路径:/usr/local/mysql/bin/mysqld_safe(若通过--prefix=/usr/local/mysql安装)。

2. 检查并修复配置文件

  • 编辑MySQL配置文件(如/etc/my.cnf/usr/local/mysql/etc/my.cnf):
    [mysqld]
    basedir=/usr/local/mysql  # 替换为实际安装路径
    datadir=/usr/local/mysql/data
    
  • 修复启动脚本路径
    编辑系统服务脚本(如/etc/init.d/mysql),确保basedirmysqld_safe路径正确:
    basedir=/usr/local/mysql  # 替换为实际路径
    mysqld_safe="${basedir}/bin/mysqld_safe"
    

3. 创建符号链接(如路径错误)

  • 若文件存在于非标准路径,创建符号链接到系统预期位置:
    ln -s /实际/路径/bin/mysqld_safe /usr/local/bin/mysqld_safe
    

4. 设置文件权限

  • 确保MySQL用户拥有所有权
    chown -R mysql:mysql /usr/local/mysql  # 替换为实际路径
    
  • 赋予mysqld_safe执行权限
    chmod +x /usr/local/mysql/bin/mysqld_safe  # 替换为实际路径
    

5. 配置环境变量

  • 将MySQL的bin目录添加到PATH
    编辑~/.bashrc/etc/profile,添加以下内容:
    export PATH=$PATH:/usr/local/mysql/bin  # 替换为实际路径
    
  • 使配置生效
    source ~/.bashrc  # 或 source /etc/profile
    

6. 重新安装MySQL(如文件缺失)

  • 清理残留文件后重新编译安装
    make clean
    ./configure --prefix=/usr/local/mysql  # 替换为自定义路径
    make && make install
    

7. 启动服务并验证

  • 手动启动MySQL以测试路径配置
    /usr/local/mysql/bin/mysqld_safe --user=mysql &  # 替换为实际路径
    
  • 检查错误日志定位问题
    tail -f /usr/local/mysql/data/hostname.err  # 替换为实际日志路径
    

三、预防措施

  1. 统一安装路径

    • 编译安装时,建议将MySQL安装在/usr/local/mysql等标准路径,减少路径配置问题。
    • 使用包管理器(如aptyum)安装时,优先采用默认路径(如/usr/bin/mysqld_safe)。
  2. 验证安装完整性

    • 安装完成后,通过find命令确认mysqld_safe等关键文件是否存在。
  3. 定期检查配置

    • 每次更新MySQL或修改配置后,验证basedirdatadir是否与实际路径一致。

通过以上步骤,可系统性解决编译安装MySQL 5.7时因路径错误或文件缺失导致的“Couldn’t find MySQL server (mysqld_safe)”问题。

















2️⃣ 参考 2

在编译安装 MySQL 5.7 时出现 “Couldn’t find MySQL server (mysqld_safe)” 的错误,通常是由于以下原因导致的:


1. 安装路径未正确配置

  • 问题表现:MySQL 的安装路径未正确配置,导致启动脚本(如 mysql.serversystemd 服务文件)无法找到 mysqld_safe 可执行文件。
  • 解决方法
    • 确认 mysqld_safe 的实际路径是否存在:
      find /usr/local/mysql/bin/ -name mysqld_safe
      
    • 如果路径与配置文件或服务文件中指定的路径不一致,需修改服务文件或环境变量:
      • 修改 systemd 服务文件(例如 /etc/systemd/system/mysqld.service):
        ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
        
      • 设置环境变量(临时生效):
        export PATH=/usr/local/mysql/bin:$PATH
        

2. 缺少 mysqld_safe 文件

  • 问题表现:编译安装时未正确生成 mysqld_safe 脚本。
  • 解决方法
    • 检查编译安装步骤是否完整:
      • 编译时是否执行了 makemake install
      • mysqld_safe 是否存在于 /usr/local/mysql/bin/ 目录?
    • 如果缺失,重新编译并确保生成:
      cd mysql-5.7.44/build
      make clean
      make -j$(nproc)
      sudo make install
      

3. 权限问题

  • 问题表现mysqld_safe 或数据目录权限不足。
  • 解决方法
    • 确保 mysql 用户对安装目录和数据目录有读写权限:
      sudo chown -R mysql:mysql /usr/local/mysql
      sudo chown -R mysql:mysql /var/lib/mysql
      

4. 配置文件错误

  • 问题表现my.cnf 中的 basedirdatadir 配置错误。
  • 解决方法
    • 检查 /etc/my.cnf/etc/mysql/my.cnf 配置文件:
      [mysqld]
      basedir = /usr/local/mysql
      datadir = /var/lib/mysql
      
    • 确保配置中的路径与实际安装路径一致。

5. 服务启动脚本缺失

  • 问题表现:未正确配置 systemdinit.d 启动脚本。
  • 解决方法
    • 使用 systemd 启动
      • 创建 /etc/systemd/system/mysqld.service 文件,内容如下:
        [Unit]
        Description=MySQL Server
        After=network.target[Service]
        User=mysql
        Group=mysql
        ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
        Restart=on-failure[Install]
        WantedBy=multi-user.target
        
      • 重新加载 systemd 配置并启动服务:
        sudo systemctl daemon-reload
        sudo systemctl start mysqld
        sudo systemctl enable mysqld
        

6. 初始化数据库失败

  • 问题表现:未正确初始化数据目录,导致 mysqld_safe 无法启动。
  • 解决方法
    • 确保已正确初始化数据库:
      sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
      
    • 如果已初始化但仍有问题,尝试手动删除数据目录并重新初始化:
      sudo rm -rf /var/lib/mysql/*
      sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
      

7. 缺少依赖库

  • 问题表现mysqld_safe 依赖的某些库缺失。
  • 解决方法
    • 检查依赖库是否安装:
      ldd /usr/local/mysql/bin/mysqld | grep "not found"
      
    • 安装缺失的依赖(如 libaioopenssl 等):
      sudo apt install -y libaio1 libssl1.1
      

8. 日志排查

  • 查看错误日志
    • 默认日志路径为 /var/lib/mysql/hostname.err,检查是否有详细错误信息:
      tail -n 100 /var/lib/mysql/$(hostname).err
      

总结

可能原因解决方法
安装路径不正确修改 my.cnfsystemd 服务文件中的路径
mysqld_safe 文件缺失重新编译安装 MySQL
权限不足确保 mysql 用户对安装目录和数据目录有权限
配置文件错误检查 my.cnf 中的 basedirdatadir
服务启动脚本缺失手动创建 systemdinit.d 启动脚本
数据库未初始化使用 mysqld --initialize-insecure 初始化数据目录
依赖库缺失安装缺失的依赖(如 libaio1libssl1.1

验证安装

完成上述步骤后,验证 MySQL 是否能正常启动:

sudo systemctl status mysqld

如果服务启动成功,可以通过以下命令登录 MySQL:

/usr/local/mysql/bin/mysql -u root

如果仍有问题,请提供错误日志(/var/lib/mysql/hostname.err)以进一步排查。

















3️⃣ 参考 3

“Couldn’t find MySQL server (mysqld_safe)” 错误通常发生在尝试启动 MySQL 服务时,mysqld_safe 脚本无法定位 mysqld 可执行文件。以下是常见原因及解决方案:

主要原因分析:

  1. 路径配置错误
    • basedir 设置不正确
    • mysqld 可执行文件不在预期位置
  2. 安装不完整
    • 编译安装过程未完成或失败
  3. 权限问题
    • mysql 用户无权访问关键目录
  4. 配置文件问题
    • my.cnf 配置错误或未被正确加载

解决方案步骤:

1. 验证 mysqld 是否存在
# 检查编译安装位置
sudo find /usr/local/mysql -name mysqld# 预期输出类似:
# /usr/local/mysql/bin/mysqld

如果不存在,说明编译安装失败,需重新安装。

2. 检查配置文件路径
sudo vim /etc/my.cnf

确保包含 正确路径

[mysqld]
basedir=/usr/local/mysql  # 必须与编译时的CMAKE_INSTALL_PREFIX一致
datadir=/mysql-data       # 你的数据目录
3. 修复启动脚本路径

编辑 Systemd 服务文件或 init 脚本:

# 对于Systemd
sudo vim /etc/systemd/system/mysqld.service# 对于SysVinit
sudo vim /etc/init.d/mysqld

[Service] 部分添加:

Environment="PATH=/usr/local/mysql/bin:$PATH"
4. 设置环境变量(临时测试)
export PATH=/usr/local/mysql/bin:$PATH
sudo -E /etc/init.d/mysqld start

如果此时能启动,说明永久环境变量需要配置。

5. 检查权限问题
sudo chown -R mysql:mysql /usr/local/mysql
sudo chown -R mysql:mysql /mysql-data
6. 验证安装完整性

检查关键文件是否存在:

ls /usr/local/mysql/bin/mysqld      # 必须存在
ls /usr/local/mysql/bin/mysqld_safe # 必须存在
7. 手动启动测试
sudo su - mysql
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

观察控制台输出的具体错误。


高级故障排除:

查看 mysqld_safe 日志
sudo tail -n 100 /mysql-data/*.err

查找包含以下关键字的错误:

  • Cannot find mysqld
  • No such file or directory
  • paths not set
检查库文件依赖
ldd /usr/local/mysql/bin/mysqld

确保所有动态库(特别是 libaio, libncurses)显示为 found

重新链接二进制文件
cd /usr/local/mysql
sudo ln -sf /usr/local/mysql/bin/* /usr/bin/

最终验证:

# 检查环境
echo $PATH# 手动执行
sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &# 查看进程
ps aux | grep mysqld

重要提示:如果所有方法均失败,考虑:

  1. 重新编译安装(使用 make clean 先清理)
  2. 检查编译时是否缺少关键依赖:libaio-dev, libncurses5-dev
  3. 使用预编译二进制包替代源码编译

通过以上步骤,90% 的 “Couldn’t find MySQL server” 错误都能得到解决。关键要确认 basedir 路径一致且 mysqld 二进制文件实际存在并有执行权限。

















4️⃣ 参考 4

当编译安装的 MySQL 5.7 出现 "Couldn't find MySQL server (mysqld_safe)" 错误时,通常是由于以下原因之一造成的:


主要原因及解决方案

1. 启动脚本路径配置错误
  • 问题mysqld_safe 脚本未找到,因为启动脚本中 basedirdatadir 路径配置错误
  • 解决
    1. 编辑启动脚本:
      sudo nano /etc/init.d/mysqld
      
    2. 确认以下路径指向实际安装位置:
      basedir=/usr/local/mysql    # 编译时指定的安装路径
      datadir=/usr/local/mysql/data  # 数据目录路径
      bindir="$basedir/bin"       # 必须包含 mysqld_safe
      
2. mysqld_safe 文件未正确安装
  • 问题:编译安装后 mysqld_safe 未生成或安装失败
  • 检查
    ls -l /usr/local/mysql/bin/mysqld_safe
    
  • 解决
    1. 重新执行安装:
      cd /path/to/mysql-5.7.44/build
      sudo make install
      
    2. 确认文件权限:
      sudo chmod 755 /usr/local/mysql/bin/mysqld_safe
      
3. 关键依赖库缺失
  • 问题:缺少 libtinfo 等依赖库导致二进制文件无法运行
  • 检查
    ldd /usr/local/mysql/bin/mysqld_safe | grep "not found"
    
  • 解决
    sudo apt install libtinfo5 libncurses5
    
4. 服务启动顺序问题
  • 问题:systemd 服务文件配置错误
  • 解决
    1. 创建 systemd 服务文件:
      sudo nano /etc/systemd/system/mysqld.service
      
    2. 添加以下内容:
      [Unit]
      Description=MySQL Server
      After=network.target[Service]
      User=mysql
      Group=mysql
      ExecStart=/usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data
      Restart=on-failure
      LimitNOFILE=65535[Install]
      WantedBy=multi-user.target
      
    3. 重载并启动:
      sudo systemctl daemon-reload
      sudo systemctl start mysqld
      
5. 环境变量问题
  • 问题:PATH 未包含 MySQL 的 bin 目录
  • 解决
    echo 'export PATH=/usr/local/mysql/bin:$PATH' | sudo tee /etc/profile.d/mysql.sh
    source /etc/profile
    
6. 数据目录权限错误
  • 问题:mysql 用户无权访问目录
  • 解决
    sudo chown -R mysql:mysql /usr/local/mysql
    sudo chmod -R 755 /usr/local/mysql/data
    

完整排查步骤

# 1. 检查 mysqld_safe 是否存在
ls -l /usr/local/mysql/bin/mysqld_safe# 2. 检查文件依赖
ldd /usr/local/mysql/bin/mysqld_safe# 3. 检查启动脚本配置
grep -E 'basedir|datadir|bindir' /etc/init.d/mysqld# 4. 手动测试启动
sudo -u mysql /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --log-error=/tmp/mysql-start.log &# 5. 查看错误日志
tail -f /usr/local/mysql/data/*.err

特殊案例解决方案

案例 1:编译时缺少依赖
# 重新编译前清理旧构建
cd mysql-5.7.44/build
make clean
rm CMakeCache.txt# 添加关键选项重新配置
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_SYSTEMD=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system# 重新编译安装
make -j$(nproc)
sudo make install
案例 2:符号链接问题
# 创建必要的符号链接
sudo ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe
sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/libtinfo.so.5

关键注意事项

  1. 编译选项确认

    # 查看编译时使用的参数
    cat /usr/local/mysql/bin/mysqlbug | grep "Configured with"
    
  2. 安全启动建议

    # 始终使用 mysql 用户启动
    sudo -u mysql /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
    
  3. 备选启动方式

    # 直接使用 mysqld 启动
    sudo -u mysql /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    

通过以上步骤,95% 的 "Couldn't find MySQL server (mysqld_safe)" 错误都能解决。如果问题仍然存在,建议检查编译日志 CMakeCache.txtmake 输出是否有警告信息。

















5️⃣ 参考 5

在编译安装MySQL 5.7过程中遇到"Couldn’t find MySQL server (mysqld_safe)"错误,通常是由于路径配置不正确、文件缺失或权限问题导致的。以下是可能的原因及解决方案:

一、可能的原因

  1. 二进制文件未正确安装
    mysqld_safe 脚本未被正确编译或安装到指定目录。

  2. 系统路径未包含MySQL目录
    系统无法在 PATH 环境变量中找到 mysqld_safe 的位置。

  3. 文件权限不足
    当前用户没有执行 mysqld_safe 的权限。

  4. 符号链接缺失
    MySQL命令未被软链接到系统常用目录(如 /usr/bin)。

  5. 编译配置问题
    CMake配置时未正确指定安装路径。

二、解决方案

1. 确认 mysqld_safe 文件存在

检查MySQL安装目录下是否存在 mysqld_safe 脚本:

find /usr/local/mysql -name "mysqld_safe"

如果未找到,可能是编译过程中出现问题,需重新编译并确保安装成功。

2. 手动添加MySQL路径到环境变量

临时添加路径:

export PATH=$PATH:/usr/local/mysql/bin

永久添加(编辑 ~/.bashrc/etc/profile):

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
source ~/.bashrc
3. 创建符号链接到系统目录
sudo ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
4. 检查文件权限

确保 mysqld_safe 脚本可执行:

chmod +x /usr/local/mysql/bin/mysqld_safe
5. 使用绝对路径执行

直接使用完整路径启动服务:

/usr/local/mysql/bin/mysqld_safe --user=mysql &
6. 重新编译安装(若文件缺失)

如果确认 mysqld_safe 未被安装,需重新编译并指定正确路径:

cd mysql-5.7.44  # 源码目录
make clean  # 清理旧编译文件
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql ...  # 重复之前的cmake配置
make -j$(nproc)
sudo make install
7. 使用 systemd 服务替代 mysqld_safe

mysqld_safe 持续报错,可直接配置 systemd 服务:

sudo tee /etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
After=network.target[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
Restart=always
LimitNOFILE=10000[Install]
WantedBy=multi-user.target
EOFsudo systemctl daemon-reload
sudo systemctl start mysqld

三、验证安装

mysql -u root -p -e "SELECT VERSION();"

若仍报错,检查 MySQL 错误日志:

cat /usr/local/mysql/data/$(hostname).err

四、常见错误排查

  • 缺少依赖:确保所有编译依赖已安装(如 libncurses5-dev)。
  • 端口冲突:检查 MySQL 默认端口 3306 是否被占用。
  • SELinux/AppArmor 限制:临时禁用或配置安全模块允许 MySQL 运行。

通过以上步骤,应该能解决"Couldn’t find MySQL server (mysqld_safe)"错误并成功启动 MySQL 服务。

















6️⃣ 参考 6

编译安装 MySQL 5.7 报 “Couldn’t find MySQL server (mysqld_safe)” 的原因及解决方案如下:

常见原因

  • 路径配置错误 :MySQL 的安装路径、数据目录等配置与实际不符,如在配置文件 /etc/my.cnf 或启动脚本 /etc/init.d/mysql 中指定的 basedirdatadir 路径不正确,导致系统无法找到 mysqld_safe 文件。
  • 文件权限问题 :MySQL 相关文件或目录的权限设置不当,如 mysqld_safe 文件没有执行权限,或数据目录、配置文件等的权限不允许 MySQL 用户访问。
  • 环境变量未配置 :未将 MySQL 的 bin 目录添加到系统的环境变量中,使得系统无法识别 mysqld_safe 命令。
  • 配置文件冲突或缺失 :系统中存在多个 MySQL 配置文件,或配置文件损坏、缺失,导致 MySQL 启动时加载了错误的配置。
  • 安装过程不完整 :在编译安装过程中,某些步骤未正确执行,如未成功安装所有必要的文件和目录,或未正确创建符号链接等。

解决方案

  • 检查并修正配置文件

    • 找到 MySQL 的配置文件,一般位于 /etc/my.cnf/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf 等位置。打开配置文件,检查 [mysqld] 部分下的 basedirdatadir 选项,确保其指向正确的 MySQL 安装路径和数据目录。例如,如果 MySQL 安装在 /usr/local/mysql,数据目录为 /data/mysql,则配置应为:
    • [mysqld]
      basedir = /usr/local/mysql
      datadir = /data/mysql
      
    • 同时,在 [client][mysql] 部分,检查 socket 选项是否正确,应与 mysqld 中的 socket 路径一致,通常为 /tmp/mysql.sock/var/run/mysql/mysql.sock
  • 设置正确的文件权限

    • 确保 MySQL 安装目录及其所有文件和子目录的属主和属组均为 mysql 用户和组。可使用命令 chown -R mysql:mysql /usr/local/mysql(假设 MySQL 安装在 /usr/local/mysql)进行设置。
    • 给予 mysqld_safe 文件执行权限,命令为 chmod +x /usr/local/mysql/bin/mysqld_safe
  • 配置环境变量

    • 将 MySQL 的 bin 目录添加到系统的环境变量中。编辑 /etc/profile 文件或用户家目录下的 .bashrc 文件,添加如下内容:
    • export PATH=/usr/local/mysql/bin:$PATH
      
    • 保存后执行 source /etc/profilesource ~/.bashrc 使环境变量生效。
  • 检查并清理冲突配置

    • 查看系统中是否存在其他 MySQL 配置文件或残留的 MySQL 安装。可通过命令 find / -name my.cnf 查找所有相关的配置文件,如果存在多个,可将正确的配置文件备份并重命名为其他名称,如 my.cnf.bak,然后重新启动 MySQL 服务查看是否能正常启动。
  • 重新安装或修复安装

    • 如果上述方法均无法解决问题,可尝试重新安装 MySQL。在重新安装前,确保彻底清理之前的安装文件和数据目录,然后重新按照正确的步骤进行编译安装。在安装过程中,仔细检查每一步的输出,确保没有错误发生。

















7️⃣ 参考 7

编译安装 MySQL 5.7 报错 “Couldn’t find MySQL server (mysqld_safe)” 的原因及解决方法

您遇到的错误 Couldn't find MySQL server (mysqld_safe) 通常发生在编译安装 MySQL 5.7 后启动服务时。这表示系统无法找到关键文件 mysqld_safe(MySQL 的安全启动脚本)。下面我将逐步解释原因并提供完整解决方案,确保回答基于实际安装经验和参考信息。整个过程需在 Linux 环境下操作(如 CentOS 或 Ubuntu),并以 root 用户或 sudo 权限执行。

错误原因分析

该错误主要由以下原因引起:

  1. 文件路径配置错误:编译安装时,MySQL 的 basedir(基础安装目录)或 datadir(数据目录)设置不正确,导致系统无法定位 mysqld_safe。该文件通常位于 $basedir/bin/ 目录下。例如,如果您的安装目录是 /usr/local/mysql,则 mysqld_safe 应存在于 /usr/local/mysql/bin/mysqld_safe。如果路径错误或文件缺失,启动脚本会失败。
  2. 文件权限问题:MySQL 服务需要以 mysql 用户身份运行。如果 basedirbin 目录的权限未正确设置,mysql 用户无法访问 mysqld_safe,从而触发错误。
  3. 未初始化数据库:在首次启动前,必须初始化 MySQL 的数据目录。如果跳过这一步,系统找不到必要的服务文件,包括 mysqld_safe
  4. 安装包不完整:编译过程中可能因网络中断或依赖缺失导致文件未完全生成,尤其是 mysqld_safe 缺失。
完整解决方案

遵循以下步骤解决错误。假设您的 MySQL 安装目录为 /usr/local/mysql(根据实际情况替换路径)。操作前备份重要数据

  1. 检查文件是否存在和路径配置

    • 确认 mysqld_safe 文件是否存在于安装目录的 bin 子目录下:
      ls /usr/local/mysql/bin/mysqld_safe
      
      如果文件不存在,说明安装不完整,需重新安装或修复(见步骤 4)。如果存在,检查路径是否正确:确保 MySQL 的启动脚本(如 /etc/init.d/mysql)中 basedir 设置正确。编辑启动脚本:
      vi /etc/init.d/mysql
      
      找到类似 basedir=/usr/local/mysql 的行,确保路径与实际安装目录一致。
  2. 设置正确的文件和目录权限

    • 将安装目录的所有权赋予 mysql 用户和组,并设置可执行权限:
      groupadd mysql  # 如果未创建 mysql 组
      useradd -r -g mysql -s /bin/false mysql  # 创建 mysql 用户
      chown -R mysql:mysql /usr/local/mysql  # 递归修改所有权
      chmod -R 755 /usr/local/mysql/bin  # 确保 bin 目录可执行
      
      这解决了权限不足导致文件无法访问的问题。
  3. 初始化 MySQL 数据库

    • 在首次启动前,必须初始化数据目录。使用 mysqld 命令指定 basedirdatadir(数据目录默认在 $basedir/data):
      /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
      
      初始化会生成临时 root 密码(查看日志文件获取)。如果成功,系统会创建必要的文件,包括 mysqld_safe 的依赖。
  4. 修复文件缺失(重新安装或下载)

    • 如果 mysqld_safe 缺失,建议重新下载 MySQL 5.7 二进制包并解压到正确目录。使用 wget 和 tar 快速下载并解压:
      wget -qO- https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz | tar -xzv -C /usr/local
      mv /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql  # 重命名为标准目录
      
      然后重复步骤 2 和 3 设置权限和初始化。
  5. 启动 MySQL 服务

    • 完成以上步骤后,启动服务:
      /etc/init.d/mysql start
      
      或使用 systemd(如果适用):
      systemctl start mysql
      
      如果一切正常,服务应成功启动。使用 mysql -u root -p 登录验证。
验证和注意事项
  • 验证成功:运行 service mysql status,应显示 “active (running)”。
  • 常见陷阱:确保环境变量 PATH 包含 MySQL 的 bin 目录(添加 export PATH=$PATH:/usr/local/mysql/bin~/.bashrc)。
  • 预防措施:编译安装时严格遵循官方文档,使用完整下载包避免文件缺失。初始化是必须步骤,不可跳过。

如果问题仍存在,检查日志文件(如 /var/log/mysqld.log)获取详细错误信息。大多数情况下,上述步骤能彻底解决该错误。

















8️⃣ 参考 8

以下是编译安装 MySQL 5.7 时出现 “Couldn’t find MySQL server (mysqld_safe)” 错误的根本原因及完整解决方案,综合多个技术文档整理而成:


🔍 一、核心原因分析

  1. mysqld_safe 文件缺失或未生成

    • 编译安装时,部分脚本(如 mysqld_safe)可能因编译参数或依赖问题未正确生成。
    • 典型表现/usr/local/mysql/bin/ 目录下无 mysqld_safe 文件。
  2. 路径配置错误

    • mysql.server 启动脚本中的 basedirdatadir 未指向实际安装路径。
    • 示例错误:配置为 /home/soft/mysql-5.7,但实际安装路径为 /usr/local/mysql
  3. 权限问题

    • mysql 用户无权访问安装目录或 mysqld_safe 文件。
    • 常见场景:手动复制文件后未修复权限(如 chown 未执行)。
  4. 依赖库缺失

    • 编译时缺少关键库(如 libaio),导致 mysqldmysqld_safe 无法运行。

🛠️ 二、完整解决方案

✅ 方案 1:手动补全 mysqld_safe 文件(推荐)

适用场景:编译安装后 bin/ 目录缺少 mysqld_safe

  1. 从二进制包提取文件
    # 下载 MySQL 5.7.44 二进制包
    wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
    tar -xzvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
    
  2. 复制文件到编译安装目录
    cp mysql-5.7.44-linux-glibc2.12-x86_64/bin/mysqld_safe /usr/local/mysql/bin/
    chown mysql:mysql /usr/local/mysql/bin/mysqld_safe  # 修复归属
    chmod 755 /usr/local/mysql/bin/mysqld_safe          # 赋予执行权限
    
✅ 方案 2:修正路径配置

适用场景:启动脚本中路径错误。

  1. 编辑启动脚本(如 /etc/init.d/mysql):
    vi /etc/init.d/mysql
    
  2. 修正关键参数
    basedir=/usr/local/mysql          # 必须与实际安装路径一致
    datadir=/var/lib/mysql            # 数据目录需存在且可读写
    
  3. 重启服务:
    systemctl daemon-reload && systemctl restart mysql
    
✅ 方案 3:修复权限与依赖

适用场景:文件权限不足或依赖库缺失。

  • 修复目录权限
    chown -R mysql:mysql /usr/local/mysql   # 递归修复归属
    chmod -R 755 /usr/local/mysql/bin/       # 确保可执行权限
    
  • 安装依赖库
    apt install libaio1 libncurses5 libtinfo5  # Debian/Ubuntu
    yum install libaio ncurses-compat-libs     # CentOS/Rocky
    
  • 检查动态库链接
    ldd /usr/local/mysql/bin/mysqld | grep "not found"  # 定位缺失库
    
⚙️ 方案 4:替代启动方案

适用场景mysqld_safe 仍不可用。

  1. 直接启动 mysqld
    /usr/local/mysql/bin/mysqld --user=mysql --datadir=/var/lib/mysql &
    
  2. 创建自定义启动脚本(替代 mysqld_safe):
    cat > /usr/local/bin/mysqld_safe.sh <<EOF
    #!/bin/bash
    /usr/local/mysql/bin/mysqld --user=mysql --datadir=/var/lib/mysql &
    EOF
    chmod +x /usr/local/bin/mysqld_safe.sh
    
  3. 配置 Systemd 服务(更可靠):
    # /etc/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    After=network.target[Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    Restart=on-failure[Install]
    WantedBy=multi-user.target
    
    启用服务:
    systemctl daemon-reload && systemctl start mysqld
    

⚠️ 三、预防措施

  1. 编译前检查依赖
    确保安装所有依赖库(libaio-devlibncurses-dev 等)。
  2. 验证安装完整性
    编译后立即检查 bin/ 目录是否包含 mysqld_safe
  3. 使用二进制包安装
    若需严格版本控制,建议直接使用二进制包而非编译安装。
  4. 日志排查
    通过 tail -f /var/lib/mysql/*.err 查看详细错误原因。

💎 总结

问题根因优先解决方案
mysqld_safe 文件缺失从二进制包复制文件 + 修复权限
路径配置错误修正 mysql.server 脚本
权限不足或依赖缺失chown + 安装依赖库
兼容性问题改用 systemd 服务管理

提示:MySQL 5.7 已结束官方支持,生产环境建议升级至 MySQL 8.0 或使用云数据库服务。操作前务必备份数据!

















9️⃣ 参考 9

编译安装 MySQL 5.7 报错 “Couldn’t find MySQL server (mysqld_safe)” 的原因及解决方法

您遇到的错误 Couldn't find MySQL server (mysqld_safe) 通常发生在编译安装 MySQL 5.7 后启动服务时。这表示系统无法找到关键文件 mysqld_safe(MySQL 的安全启动脚本)。下面我将逐步解释原因并提供完整解决方案,确保回答基于实际安装经验和参考信息。整个过程需在 Linux 环境下操作(如 CentOS 或 Ubuntu),并以 root 用户或 sudo 权限执行。

错误原因分析

该错误主要由以下原因引起:

  1. 文件路径配置错误:编译安装时,MySQL 的 basedir(基础安装目录)或 datadir(数据目录)设置不正确,导致系统无法定位 mysqld_safe。该文件通常位于 $basedir/bin/ 目录下。例如,如果您的安装目录是 /usr/local/mysql,则 mysqld_safe 应存在于 /usr/local/mysql/bin/mysqld_safe。如果路径错误或文件缺失,启动脚本会失败。
  2. 文件权限问题:MySQL 服务需要以 mysql 用户身份运行。如果 basedirbin 目录的权限未正确设置,mysql 用户无法访问 mysqld_safe,从而触发错误。
  3. 未初始化数据库:在首次启动前,必须初始化 MySQL 的数据目录。如果跳过这一步,系统找不到必要的服务文件,包括 mysqld_safe
  4. 安装包不完整:编译过程中可能因网络中断或依赖缺失导致文件未完全生成,尤其是 mysqld_safe 缺失。
完整解决方案

遵循以下步骤解决错误。假设您的 MySQL 安装目录为 /usr/local/mysql(根据实际情况替换路径)。操作前备份重要数据

  1. 检查文件是否存在和路径配置

    • 确认 mysqld_safe 文件是否存在于安装目录的 bin 子目录下:
      ls /usr/local/mysql/bin/mysqld_safe
      
      如果文件不存在,说明安装不完整,需重新安装或修复(见步骤 4)。如果存在,检查路径是否正确:确保 MySQL 的启动脚本(如 /etc/init.d/mysql)中 basedir 设置正确。编辑启动脚本:
      vi /etc/init.d/mysql
      
      找到类似 basedir=/usr/local/mysql 的行,确保路径与实际安装目录一致。
  2. 设置正确的文件和目录权限

    • 将安装目录的所有权赋予 mysql 用户和组,并设置可执行权限:
      groupadd mysql  # 如果未创建 mysql 组
      useradd -r -g mysql -s /bin/false mysql  # 创建 mysql 用户
      chown -R mysql:mysql /usr/local/mysql  # 递归修改所有权
      chmod -R 755 /usr/local/mysql/bin  # 确保 bin 目录可执行
      
      这解决了权限不足导致文件无法访问的问题。
  3. 初始化 MySQL 数据库

    • 在首次启动前,必须初始化数据目录。使用 mysqld 命令指定 basedirdatadir(数据目录默认在 $basedir/data):
      /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
      
      初始化会生成临时 root 密码(查看日志文件获取)。如果成功,系统会创建必要的文件,包括 mysqld_safe 的依赖。
  4. 修复文件缺失(重新安装或下载)

    • 如果 mysqld_safe 缺失,建议重新下载 MySQL 5.7 二进制包并解压到正确目录。使用 wget 和 tar 快速下载并解压:
      wget -qO- https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz | tar -xzv -C /usr/local
      mv /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql  # 重命名为标准目录
      
      然后重复步骤 2 和 3 设置权限和初始化。
  5. 启动 MySQL 服务

    • 完成以上步骤后,启动服务:
      /etc/init.d/mysql start
      
      或使用 systemd(如果适用):
      systemctl start mysql
      
      如果一切正常,服务应成功启动。使用 mysql -u root -p 登录验证。
验证和注意事项
  • 验证成功:运行 service mysql status,应显示 “active (running)”。
  • 常见陷阱:确保环境变量 PATH 包含 MySQL 的 bin 目录(添加 export PATH=$PATH:/usr/local/mysql/bin~/.bashrc)。
  • 预防措施:编译安装时严格遵循官方文档,使用完整下载包避免文件缺失。初始化是必须步骤,不可跳过。

如果问题仍存在,检查日志文件(如 /var/log/mysqld.log)获取详细错误信息。大多数情况下,上述步骤能彻底解决该错误。

















🔟 参考 10


错误原因分析

当在编译安装 MySQL 5.7 过程中遇到 Couldn’t find MySQL server (mysqld_safe) 错误时,通常由以下几个原因导致:

1. 安装路径配置错误
  • 通过 -DCMAKE_INSTALL_PREFIX 指定的安装路径与实际安装路径不一致。
  • mysqld_safe 脚本无法找到关键文件 mysqld(MySQL服务主程序)。
2. 编译过程未完成
  • 如果编译(make)或安装(make install)步骤中断,可能导致 mysqld 可执行文件未正确生成。
3. 缺少动态库依赖
  • 若系统缺失依赖库(如 libaio, libnuma 等),mysqld 文件可能无法运行。
4. 权限问题
  • 安装目录权限不足,导致 mysqld_safe 无法访问 mysqld
5. 初始化流程未执行
  • 未通过 mysqld --initialize 初始化数据目录,导致服务无法正常启动。

解决方案步骤

步骤 1:验证安装路径和文件

检查 mysqld 是否存在于安装路径的 bin 目录中:

ls /usr/local/mysql/bin/mysqld  # 替换为你的安装路径
  • 若文件不存在:需重新编译安装,检查 CMake 日志和 make 步骤的报错信息。
  • 若文件存在:检查 mysqld_safe 脚本中的路径配置。

步骤 2:检查 mysqld_safe 脚本

打开 mysqld_safe 文件(通常位于安装目录的 bin 子目录):

vi /usr/local/mysql/bin/mysqld_safe

确认以下参数指向正确路径:

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

步骤 3:修复动态库依赖

安装常见缺失的依赖库:

# 对于 Debian/Ubuntu
sudo apt install libaio1 libnuma1# 对于 CentOS/RHEL
sudo yum install libaio numactl

验证动态链接:

ldd /usr/local/mysql/bin/mysqld

确保所有依赖库显示为 found,而非 not found


步骤 4:手动指定路径启动

尝试使用完整路径启动 mysqld

/usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/usr/local/mysql/data &

步骤 5:修复文件权限

确保安装目录和数据目录的权限正确:

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

步骤 6:重新初始化数据目录
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • 记录生成的临时 root 密码。
  • 再次尝试启动服务。

步骤 7:重编译并修复配置(终极方案)

如果上述步骤失败,重新编译安装:

  1. 清理旧编译文件:
    rm -rf /tmp/install/mysql/build/*
    cd /tmp/install/mysql/build
    
  2. 确保 CMake 包含关键参数:
    cmake .. \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_SYSTEMD=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1
    
  3. 重新编译和安装:
    make -j$(nproc)
    sudo make install
    

附加说明

  • 日志分析:检查 /var/log/mysqld.log/usr/local/mysql/data/*.err 文件获取详细错误信息。
  • 防火墙冲突:临时关闭防火墙测试:
    systemctl stop firewalld  # CentOS
    ufw disable                # Ubuntu
    

总结

该错误通常由路径配置或依赖问题引发,通过验证安装完整性、修复权限、补充依赖库,90% 以上情况下可解决问题。如仍失败,建议检查 MySQL 官方文档 或社区支持论坛。



























本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/913759.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/913759.shtml
英文地址,请注明出处:http://en.pswp.cn/news/913759.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)

&#x1f9e9; 在 Ubuntu 下配置 oh-my-posh —— 普通用户 root 各自使用独立主题&#xff08;共享可执行&#xff09;✅ 目标说明普通用户 使用 tokyonight_storm 主题 root 用户 使用 1_shell 主题 共用全局路径下的 oh-my-posh 可执行文件 正确加载 Homebrew 到环境变量中…

Spring Boot 项目中的多数据源配置

关键词&#xff1a;Spring Boot、多数据源配置、MySQL、SQL Server、Oracle、动态切换 ✅ 摘要 在实际企业级开发中&#xff0c;一个 Spring Boot 项目可能需要连接多个数据库&#xff0c;比如 MySQL、SQL Server 和 Oracle。不同的业务模块可能依赖不同的数据源&#xff0c;这…

MATLAB/Simulink电机控制仿真代做 同步异步永磁直驱磁阻双馈无刷

以下是针对 MATLAB/Simulink 电机控制仿真 的系统性解决方案&#xff0c;涵盖 同步电机、异步电机、永磁电机、直驱电机、磁阻电机、双馈电机、无刷直流电机&#xff08;BLDC&#xff09; 的建模与控制策略实现&#xff0c;支持代做服务的技术细节和代码示例。一、电机建模与仿…

限流算法深度探索:从理论到实践的生产级避坑指南

凌晨3点&#xff0c;监控警报刺耳地尖叫着。我盯着屏幕上垂直下跌的服务可用性曲线&#xff0c;意识到那个被忽视的限流配置项终于引爆了——每秒1000次的支付请求正像洪水般冲垮我们的系统。这次事故让我深刻理解&#xff1a;限流不是可选项&#xff0c;而是分布式系统的生存法…

企业级后台管理系统的困境与飞算 JavaAI 的破局之道

企业级后台管理系统如 CRM&#xff08;客户关系管理系统&#xff09;、ERP&#xff08;企业资源计划系统&#xff09;已成为支撑企业高效运转的核心骨架。它们如同企业的 “神经中枢”&#xff0c;串联起客户数据、财务信息、供应链流程等关键环节&#xff0c;为决策制定、业务…

快速上手百宝箱搭建知识闯关游戏助手

引言&#xff1a;让学习更有趣&#xff0c;AI 赋能知识闯关新体验 1.在信息爆炸的时代&#xff0c;传统的填鸭式教学方式已难以满足现代用户对高效、个性化和趣味化学习的需求。越来越多的学习者倾向于通过互动性强、参与感十足的方式获取知识。在此背景下&#xff0c;游戏化学…

【YOLOv11-目标检测】目标检测数据格式(官方说明)

原文链接&#xff1a; https://docs.ultralytics.com/datasets/detect/ 写在前面 训练一个鲁棒且准确的目标检测模型需要一个全面的数据集。本文介绍&#xff1a;与Ultralytics YOLO模型兼容的各种数据集格式&#xff0c;并深入解析了它们的结构、使用方法以及如何在不同的格…

yolo8实现目标检测

✅步骤一&#xff1a;安装 PyTorch&#xff08;M1 专用&#xff09;# 推荐使用官方 MPS 后端&#xff08;Apple Metal 加速&#xff09; pip install torch torchvision torchaudio确认是否使用了 Apple MPS&#xff1a;import torch print(torch.backends.mps.is_available()…

安全管理协议(SMP):配对流程、密钥生成与防中间人攻击——蓝牙面试核心考点精解

一、SMP 核心知识点高频考点解析1.1 SMP 在蓝牙安全体系中的定位考点&#xff1a;SMP 的功能与协议栈位置解析&#xff1a; SMP&#xff08;Security Manager Protocol&#xff0c;安全管理协议&#xff09;是蓝牙核心规范中负责设备配对、密钥生成与安全连接的关键协议&#x…

U盘实现——U 盘类特殊命令

文章目录 U 盘类特殊命令U 盘的命令封包命令阶段数据阶段状态阶段get max luninquiry(0x12)read format capacities(0x23)read capacity(0x25)mode sense(0x1a)test unit ready(0x00)read(10) 0x28write(10) 0x2aU 盘类特殊命令 U 盘的命令封包 命令阶段 命令阶段主要由主机通…

深度帖:浏览器的事件循环与JS异步

一、浏览器进程 早期的浏览器是单进程的&#xff0c;所有功能杂糅在一个进程中&#xff1b;现在的浏览器是多进程的&#xff0c;包含浏览器进程、网络进程、渲染进程等等&#xff0c;每个进程负责的工作不同。浏览器进程&#xff1a;负责界面显示&#xff08;地址栏、书签、历史…

Linux网络:UDP socket创建流程与简单通信

本文介绍 UDP 服务端与客户端 的创建流程&#xff0c;和相关的函数接口 核心流程 创建 socket → socket()填写服务器地址信息 → sockaddr_in 结构体绑定地址和端口 → bind()接收并响应客户端数据 → recvfrom() / sendto()socket() #include<sys/so…

windows内核研究(系统调用 1)

WindowsAPI函数的调用过程什么是WindowsApi&#xff1f;Windows API&#xff08;Application Programming Interface&#xff0c;应用程序编程接口&#xff09;是微软为Windows操作系统提供的一套系统级编程接口&#xff0c;允许开发者与操作系统内核、硬件、系统服务等进行交互…

【前端】异步任务风控验证与轮询机制技术方案(通用笔记版)

一、背景场景 在某类生成任务中&#xff0c;例如用户点击“执行任务”按钮后触发一个较耗时的后端操作&#xff08;如生成报告、渲染图像、转码视频等&#xff09;&#xff0c;由于其调用了模型、渲染服务或需要较长处理时间&#xff0c;为了防止接口被频繁恶意调用&#xff0c…

Vim 编辑器常用操作详解(新手快速上手指南)

&#x1f4bb; Vim 编辑器常用操作详解&#xff08;新手快速上手指南&#xff09;作者&#xff1a;Lixin 日期&#xff1a;2025-07-09 学习内容&#xff1a;Vim 编辑器基础 常用快捷键 Xshell/Xftp连接 Linux基本操作 学习目标&#xff1a;掌握 Vim 的三种常用模式切换与基本…

OpenGL 生成深度图与点云

文章目录 一、简介二、实现代码三、实现效果一、简介 这里基于OpenGL实现对一个Mesh对象深度图的获取,思路其实很简单,直接通过glReadPixels函数获取整个OpenGL中的深度缓冲数据即可;那么反过来我们如果有了这个深度图之后,也可以基于每个像素点的深度值,反算出图像中的深…

25春云曦期末考复现

Web 疯狂星期四 <?php$tg1u$_GET[tg1u];if(!preg_match("/0|1|[3-9]|\~|\|\|\#|\\$|\%|\^|\&|\*|\&#xff08;|\&#xff09;|\-|\|\|\{|\[|\]|\}|\:|\|\"|\,|\<|\.|\>|\/|\?|\\\\|localeconv|pos|current|print|var|dump|getallheaders|get|define…

从Prompt到预训练:掌握大模型核心技术的阶梯式进化

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 在探讨大模型&#xff08;LLM&#xff09;的四阶段技术时&#xff0c;我们可以从Prompt Engineering&#xff08;提示工程&#xff09;、AI Agent&…

手机文件夹隐藏工具,一键保护隐私

软件介绍 今天为大家推荐一款手机文件夹隐藏工具——Amarok&#xff0c;它能帮助用户快速隐藏手机中的私密文件夹&#xff0c;保护个人隐私。 核心功能 Amarok主打文件夹隐藏功能&#xff0c;操作简单便捷。需要注意的是&#xff0c;虽然软件支持应用隐藏功能&#xff0…

day10-Redis面试篇

经过前几天的学习&#xff0c;大家已经掌握了微服务相关技术的实际应用&#xff0c;能够应对企业开发的要求了。不过大家都知道在IT领域往往都是面试造火箭&#xff0c;实际工作拧螺丝。为了更好的应对面试&#xff0c;让大家能拿到更高的offer&#xff0c;我们接下来就讲讲“造…