最近给公司的业务搭一个 Matomo, 顺手收了台 OVH GRA 的盲盒中奖款. 但是宝塔部署 Mysql 的时候本地 locale 报错无法安装.
提示:
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) [ 0%] Built target gtest make: *** [Makefile:166: all] Error 2
搜了下得到有效的解决办法:
sudo localedef -i en_US -f UTF-8 en_US.UTF-8
记录一下, 仅供参考
相关参考:
https://www.cnblogs.com/Don/p/17560564.html
https://www.cnblogs.com/wn1m/p/10837609.html
这类报错本质上不是 MySQL 本身坏了,而是系统语言环境没配齐。很多云服务器、精简镜像或刚初始化的机器,默认只带最小化 locale,编译安装时就容易踩坑。实操上先别急着重装,优先检查 locale、LANG 和 LC_ALL 的值,再用 localedef 补齐目标语言环境。修复后若仍报错,通常是当前会话未刷新环境,重新登录一次最稳。
LC_ALL: cannot change locale 怎么修复?
先确认系统是否缺少对应 locale。本文给出的有效做法是执行 sudo localedef -i en_US -f UTF-8 en_US.UTF-8,生成 en_US.UTF-8 本地化环境后,再重新执行安装或编译流程,通常即可恢复。
安装 MySQL 时为什么会报 setlocale 警告?
这是系统本地化配置不完整引起的,常见于精简安装或新服务器。程序尝试切换到 en_US.UTF-8,但系统里没有对应 locale,就会出现 warning 并可能导致后续构建失败。
执行 localedef 前后还要检查什么?
建议先查看当前 locale 状态,确认是否已有 en_US.UTF-8;执行 localedef 后再重新登录或重新加载环境变量,避免终端仍沿用旧配置。若是脚本安装,最好把 locale 修复放在前置步骤。






