mysql.plugin does not_Property 'mysql' does not exist on type 'Application'

Node Version: 8.7.0

Egg Version: ^2.6.1

Plugin Name: egg-mysql

Plugin Version: ^3.0.0

Platform: MacOS 10.13.1

按照官方文档typescript章节利用egg-init初始化ts项目

安装egg-mysql, 配置config

在service里使用mysql,编译报错

config配置如下

// config/plugin.ts

const plugin: EggPlugin = {

// static: true,

// nunjucks: {

// enable: true,

// package: 'egg-view-nunjucks',

// },

mysql: {

enable: true,

package: 'egg-mysql',

}

};

// config/config.local.ts

export default () => {

const config: DefaultConfig = {

mysql: {

client: {

host: '127.0.0.1',

port: '3306',

user: 'root',

password: '12345678',

database: 'test',

},

app: true,

agent: false,

},

};

return config;

};

// config/config.prod.ts

export default () => {

const config: DefaultConfig = {

mysql: {

client: {

host: '127.0.0.1',

port: '3306',

user: 'root',

password: '12345678',

database: 'test',

},

app: true,

agent: false,

},

};

return config;

};

service文件

...

public async findById(uid) {

try {

// 报错 Property 'mysql' does not exist on type 'Application'

const user = await this.app.mysql.get('users', { id: uid });

return { user };

} catch (err) {

this.logger.error(err);

return {};

}

}

请问是哪里出问题了。。谢谢

### 回答1: mysql.plugin文件是MySQL数据库的一个重要组件,用于加载和管理插件。当出现"mysql.plugin does not exist"错误时,意味着MySQL无法找到该文件。 这个问题可能有以下几种原因: 1. MySQL版本不兼容:某些MySQL版本可能不支持或没有mysql.plugin文件。在升级或安装MySQL时,应该确认所使用的版本是否包含mysql.plugin文件。 2. 文件缺失或损坏:该错误可能是由于mysql.plugin文件损坏或被意外删除所致。可以尝试重新安装MySQL或从其他可靠来源获取mysql.plugin文件。 3. 配置错误:MySQL配置文件中可能存在错误的路径或设置。确保配置文件中指定了正确的插件路径,并检查相关选项。 解决该问题的方法如下: 1. 检查MySQL版本:查看所使用的MySQL版本以确定是否支持mysql.plugin文件。 2. 恢复文件:如果mysql.plugin文件损坏或删除,可以从其他安装良好的MySQL实例中复制该文件。确保复制的文件与MySQL版本兼容。 3. 检查配置文件:打开MySQL配置文件(通常是my.cnf或my.ini),查找和确保以下选项正确设置: plugin_dir = 指定正确的插件目录路径 插件相关选项:确保插件配置正确,例如相关插件的激活或禁用选项。 无论是重新安装MySQL、恢复mysql.plugin文件还是检查和修复配置文件,都应谨慎操作并备份关键数据,以免造成数据丢失或其他问题。如果问题仍然存在,建议查阅MySQL官方文档或寻求专业支持。 ### 回答2: "mysql.plugin does not exit"是一个错误信息,意思是MySQL没有找到指定的插件。 造成该错误的可能原因有: 1. 插件文件丢失或路径错误:MySQL在启动时会加载指定的插件文件,如果该文件被删除、移动或路径设置错误,就会出现该错误。 2. 插件版本不兼容:某些插件可能只与特定版本的MySQL兼容,如果版本不匹配,就会出现插件不存在的错误。 3. 插件未安装或未启用:在MySQL中,有些插件需要手动安装或启用。如果未正确执行这些操作,就会导致插件不存在的错误。 解决该问题的方法可以是: 1. 检查插件文件路径是否正确,并确保该文件存在。 2. 检查MySQL的版本并查看插件的兼容性要求,如果不符合,尝试升级或寻找兼容的插件版本。 3. 确认所需插件是否已经安装,并检查插件是否已经启用。可以通过查询插件状态或在配置文件中设置相应的参数来启用插件。 总之,"mysql.plugin does not exit"错误提示表明MySQL没有找到指定的插件,可能是插件文件问题、兼容性问题或安装启用问题所致,需要检查对应的插件文件路径、版本兼容性和安装启用状态来解决该问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值