IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    修复 MySQL 编码问题

    OurMySQL发表于 2021-05-17 23:26:15
    love 0

       有个疑似 OCD 患者最近抽风升级了一下 MySQL 数据库,然后发现 blog 里面全都变成了乱码。

       那乱码的模式一看就是把 utf8 直接扔进了 latin1 的数据库,一看 SHOW CREATE TABLE mt_entry 发现果然如此。

       略有些慌神,看了 MySQL 文档发现用 ALTER TABLE 的 CONVERT TO 硬来有点不太行好,遂想到可以试试看 mysqldump,于是做了:

       当作 latin1(不然会再按 utf8 编码一次):

       mysqldump mt_delphij –default-character-set=latin1 -r utf8.dump

       把里面的 CHARSET=latin1 替换为 CHARSET=utf8:

       sed -e s,CHARSET=latin1,CHARSET=utf8,g < utf8.dump > utf8.dump.edited

       删掉其中的 SET NAMES latin1。

       然后重新导入:

    mysql -uroot -p --default-character-set=utf8 mt_delphij
    mysql> SET names utf8;
    mysql> SOURCE utf8.dump.edited;
    

       还好没用到 zfs rollback。

    猜想失败,您看看下面的文章有用吗?

    • slave复制异常
    • MySQL延时备份之实现
    • InnoDB Adaptive Flush
    • MySQL之Handler_read_*
    • 利用MySQL触发器高性能造数据
    • mysql-锁表机制分析
    • Cluster的NDB存储引擎
    • 探索MYSQL源代码–添加一个VARIABLE
    • mysql 升级引起的连锁反应
    • show engine innodb status显示信息不全?


沪ICP备19023445号-2号
友情链接