ga('set', 'anonymizeIp', 1);
Categories: 运维

Chevereto的数据库从MySQL 8迁移至MariaDB 10的注意事项

Chevereto的数据库从MySQL 8迁移至MariaDB 10可能会导致表缺失。昨晚将图床服务器从美西迁移到OVH法国机器,打算缩减服务器支出。

旧机器环境为
Nginx -Tengine2.2.4(2.3.2)
MySQL 8.0.24
PHP-7.4
新机器环境为
Nginx -Tengine2.2.4(2.3.2)
MySQL 10.5.10-MariaDB
PHP-7.4
唯一区别为数据库,迁移之后,网站报错,CRON任务也报错

PDOException [42S02]: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'XXXXXXXX.XXX_locks' doesn't exist

看来是数据库缺了表,检查对比,发现新数据库导入后缺少了2个表

_assets(此处省略前缀)
_locks(此处省略前缀)

这两个表的排序规则都是utf8mb4_0900_ai_ciutf8mb4_0900_ai_ci在mysql8以下是不被支持的,因此在导入新MariaDB数据库后无法创建这两个表。
解决方法:
方法一,将导出的数据库里的utf8mb4_0900_ai_ci修改为utf8mb4_unicode_ci或者utf8mb4_general_ci再导入新MariaDB数据库。
方法二,导出的数据库导入新MariaDB数据库后,单独创建这两个新表。

然后网站恢复。

madlaxcb

Recent Posts

Chevereto 4.2.4 改造,禁用API

4.2版新增了TAG功能,现在…

2周 ago

Windows 11 远程桌面“凭据不工作”的解决方法

依旧是脑残微软的设计风格,远程…

4周 ago

PVE7/PVE8 LXC容器开启TUN/TAP

今天打算用IPV6的LXC开启…

5月 ago

解决WIN10显示器重启后分辨率变低窗口乱跳问题

  最近换了显示器,当有事离开…

9月 ago

宝塔开启堡塔防入侵会导致Chevereto的Cron运行失败

昨晚给服务器搬迁,新服务器装了…

1年 ago