CentOS/源码编译MySQL安装后添加GBK字符集方法
在使用源码方式安装MySQL时,若需要在安装完成后增加对GBK字符集的支持(即同时支持UTF8),通常无法仅通过修改配置文件实现,必须重新进行编译配置。本文将详细说明如何通过调整configure参数并重新编译来添加GBK字符集,包含关键步骤、参数解释及后续的数据库重置操作。
结果或目标
在完成重新编译和配置后,MySQL实例将能够识别并使用 gbk 字符集及其对应的排序规则 gbk_chinese_ci,从而正确处理和存储简体中文数据。
准备条件
- 权限要求:拥有服务器
root权限。 - 源码包:已下载并解压的 MySQL 源代码目录(文中示例为
/usr/local/src/mysql-5.1.55,实际操作请替换为你的源码路径)。 - 备份提醒:以下操作涉及删除原有数据库文件和应用,会**清空所有现有数据**。如果服务器已有重要业务数据,请务必在执行前使用
mysqldump或其他工具备份数据库。
真实操作顺序
第1步:检查当前字符集状态
在进行任何更改之前,先确认当前MySQL支持的字符集情况。
- 登录MySQL命令行:
# mysql -u root -p
- 执行查询命令:
SHOW CHARACTER SET;
观察点:确认输出列表中是否已经包含 gbk。如果没有出现,则需要进入下一步进行重新编译。
第2步:清理MySQL残留文件
为了避免新旧版本或配置的冲突,需要彻底清除之前的安装痕迹。请根据你的实际安装路径修改命令中的目录参数。
- 删除安装目录文件(通常位于 /usr/local/mysql):
rm -rf /usr/local/mysql/*
- 删除数据库数据目录(默认通常在 /var/lib/mysql):
rm -rf /var/lib/mysql/mysql
风险警示:rm -rf 是不可逆操作,执行前请再次核对路径,确保只针对测试机或无数据的生产环境执行此步骤。
第3步:重新配置并编译源码
这是添加GBK字符集的核心环节。进入源码解压后的根目录,运行configure脚本并指定相关参数。
- 进入源码目录:
cd /usr/local/src/mysql-5.1.55
- 执行Configure配置命令:
./configure \
--prefix=/usr/local/mysql \
--sysconfdir=/etc \
--localstatedir=/var/lib/mysql \
--with-charset=gbk \
--with-collation=gbk_chinese_ci \
--with-extra-charsets=complex
参数说明:
--with-charset=gbk:设置默认字符集为GBK。--with-collation=gbk_chinese_ci:设置GBK对应的默认排序规则。--with-extra-charsets=complex:启用对复杂字符集的支持。
- 开始编译与安装:
make clean
make
make install
观察点:make 过程耗时较长且资源占用大,若无报错信息,表示编译成功。
第4步:安装后初始化和安全配置
重新安装完成后,由于数据目录已被清空,需要重新初始化数据库并设置基础服务。
- 停止可能残留的服务进程:
pkill -9 mysqld
- 清理主从复制相关日志(进入数据目录):
cd /var/lib/mysql/
# 注意:根据实际系统可能有不同后缀,以下为通用清理逻辑
rm -rf *.bin
rm -rf mysql-bin.*
rm -rf master.info
rm -rf relay-log.*
- 初始化数据库表结构:
/usr/local/mysql/bin/mysql_install_db
- 授权数据库目录给mysql用户:
chown -R mysql:mysql /var/lib/mysql
- 复制配置文件模板:
# 注意路径需替换为你实际的安装包路径下的support-files目录
- 启动MySQL服务:
/usr/local/mysql/bin/mysqld_safe &
- 修改Root密码:
/usr/local/mysql/bin/mysqladmin -u root password '你的新密码'
完成判断
使用新密码登录MySQL,输入 SHOW CHARACTER SET;,如果结果列表中包含名为 gbk 的字符集,且 Collation 列包含 gbk_chinese_ci,则说明添加成功。
简要总结
源码编译是控制MySQL底层字符集支持的最有效手段之一。通过显式指定 --with-charset=gbk 参数,可以完美解决早期版本或特定发行版中缺失GBK支持的问题。需要注意的是,该方法属于“破坏性”更新(会丢失数据),因此务必在操作前做好数据备份,并在生产环境中谨慎评估停机时间。
以上就是源码编译MySQL安装后添加GBK字符集的详细内容,更多关于MySQL字符集配置的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









