修改MySQL.sql
我安装的typecho版本是1.3.0版本,主题是clarity,看老孙博客的演示,主题需要安装Enhancement插件才能更好使用主题。安装并激活后,后台管理的链接不能使用,瞬间也不能使用,后台也是,看了一下数据库,原来是激活后数据库没有导入。
于是,我把在phpmyadmin管理面板中,选择数据库,导入位于Enhancement插件下sql中的MySQL.sql。代码如下:
CREATE TABLE IF NOT EXISTS `typecho_links` (
`lid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'links表主键',
`name` varchar(50) DEFAULT NULL COMMENT 'links名称',
`url` varchar(200) DEFAULT NULL COMMENT 'links网址',
`sort` varchar(50) DEFAULT NULL COMMENT 'links分类',
`email` varchar(50) DEFAULT NULL COMMENT 'links邮箱',
`image` varchar(200) DEFAULT NULL COMMENT 'links图片',
`description` varchar(200) DEFAULT NULL COMMENT 'links描述',
`user` varchar(200) DEFAULT NULL COMMENT '自定义',
`state` int(10) DEFAULT '1' COMMENT 'links状态',
`order` int(10) UNSIGNED DEFAULT '0' COMMENT 'links排序',
PRIMARY KEY (`lid`)
) ENGINE=MYISAM DEFAULT CHARSET=%charset%;
CREATE TABLE IF NOT EXISTS `typecho_moments` (
`mid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'moments表主键',
`content` text NOT NULL COMMENT '内容',
`tags` varchar(200) DEFAULT NULL COMMENT '标签',
`media` text DEFAULT NULL COMMENT '媒体JSON',
`source` varchar(20) DEFAULT 'web' COMMENT '来源',
`status` varchar(20) DEFAULT 'public' COMMENT '状态(public/private)',
`latitude` varchar(20) DEFAULT NULL COMMENT '纬度',
`longitude` varchar(20) DEFAULT NULL COMMENT '经度',
`location_address` varchar(255) DEFAULT NULL COMMENT '定位地址',
`created` int(10) UNSIGNED DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`mid`)
) ENGINE=MYISAM DEFAULT CHARSET=%charset%;
CREATE TABLE IF NOT EXISTS `typecho_qq_notify_queue`
`qid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`message` text NOT NULL,
`status` int(10) DEFAULT 0,
`retries` int(10) DEFAULT 0,
`last_error` varchar(255) DEFAULT NULL,
`created` int(10) DEFAULT 0,
`updated` int(10) DEFAULT 0,
PRIMARY KEY (`qid`)
) ENGINE=MYISAM DEFAULT CHARSET=%charset%;
修改编码
这个插件导入也没有成功。
网上了解到关于编码的问题,将CHARSET=%charset%,修改为CHARSET=utf8mb4。共有3处,位于13、27、38行,修改后保存,再次导入。还是不行!
修改MySQL语句
根据typecho插件links版本,它的MySQL.sql,是这样的:
CREATE TABLE `typecho_links` (
`lid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'links表主键',
`name` varchar(50) DEFAULT NULL COMMENT 'links名称',
`url` varchar(200) DEFAULT NULL COMMENT 'links网址',
`sort` varchar(50) DEFAULT NULL COMMENT 'links分类',
`email` varchar(50) DEFAULT NULL COMMENT 'links邮箱',
`image` varchar(200) DEFAULT NULL COMMENT 'links图片',
`description` varchar(200) DEFAULT NULL COMMENT 'links描述',
`user` varchar(200) DEFAULT NULL COMMENT '自定义',
`state` int(10) DEFAULT '1' COMMENT 'links状态',
`order` int(10) UNSIGNED DEFAULT '0' COMMENT 'links排序',
PRIMARY KEY (`lid`)
) ENGINE=MYISAM DEFAULT CHARSET=%charset%;于是我将Enhancement插件的MySQL.sql修改了一下,修改如下:
CREATE TABLE `typecho_links` (
`lid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'links表主键',
`name` varchar(50) DEFAULT NULL COMMENT 'links名称',
`url` varchar(200) DEFAULT NULL COMMENT 'links网址',
`sort` varchar(50) DEFAULT NULL COMMENT 'links分类',
`email` varchar(50) DEFAULT NULL COMMENT 'links邮箱',
`image` varchar(200) DEFAULT NULL COMMENT 'links图片',
`description` varchar(200) DEFAULT NULL COMMENT 'links描述',
`user` varchar(200) DEFAULT NULL COMMENT '自定义',
`state` int(10) DEFAULT '1' COMMENT 'links状态',
`order` int(10) UNSIGNED DEFAULT '0' COMMENT 'links排序',
PRIMARY KEY (`lid`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE `typecho_moments` (
`mid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'moments表主键',
`content` text NOT NULL COMMENT '内容',
`tags` varchar(200) DEFAULT NULL COMMENT '标签',
`media` text DEFAULT NULL COMMENT '媒体JSON',
`source` varchar(20) DEFAULT 'web' COMMENT '来源',
`status` varchar(20) DEFAULT 'public' COMMENT '状态(public/private)',
`latitude` varchar(20) DEFAULT NULL COMMENT '纬度',
`longitude` varchar(20) DEFAULT NULL COMMENT '经度',
`location_address` varchar(255) DEFAULT NULL COMMENT '定位地址',
`created` int(10) UNSIGNED DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`mid`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE `typecho_qq_notify_queue` (
`qid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`message` text NOT NULL,
`status` int(10) DEFAULT 0,
`retries` int(10) DEFAULT 0,
`last_error` varchar(255) DEFAULT NULL,
`created` int(10) DEFAULT 0,
`updated` int(10) DEFAULT 0,
PRIMARY KEY (`qid`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4;
导入成功!
varchar长度问题
显示typecho_options第一个表的name长度超过限制,发现这个name是Enhancement插件的问题,varchar(32)需要修改32修改为200或者更长,在SQL里执行以下
ALTER TABLE typecho_options MODIFY name VARCHAR(225);修改varchar(225)后,就没有错误提示了。

可以将插件禁用后,再激活,就可以进入管理,插件相关页面管理。

解决附件上传失败的问题
Enhancement插件禁用时,文章附件上传图片时可以的,但是激活插件后,文章附件就不能使用。原以为是插件设置上的问题,专门又去看了一下附件设置相关的选项。开启上传附件,保存后在文章编辑中,添加照片,还是没有成功。
再学习一下后面更新
为此,注册了阿里云oss本地冗余,40g 5年 45元。试一下。
试一下效果。