nodejs连接mysql本地数据库

在B站学习Vue项目时,连接本地后端接口数据出现以下问题

1. 首先报错Client does not support authentication protocol requested by server

  • 原因: MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错
  • 解决方式:
    1. 通过命令行进入解压的mysql根目录下
    2. 登陆数据库:
      mysql -uroot -p
    3. 输入root的密码
      Enter password: ******
    4. 更改加密方式
      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    5. 更改密码:该例子中 123456为新密码
      mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    6. 刷新
      mysql> FLUSH PRIVILEGES;

2. 接着,又报错ER_ACCESS_DENIED_ERROR: Access denied for user ‘root’@‘xx’ (using password:YES)

  • ** 原因:** 字面上是权限问题,实则是数据库密码与自己设置的密码不同,在api数据库中找到对应的账号文件
    在这里插入图片描述
  • 解决方式
    • 在default.json中找到预设账号和密码,修改为自己的密码再次运行app.js,不报错即运行成功
Sure, 我会提供关于如何使用nodejs连接本地mysql数据库的详细步骤和相应代码。 前提条件: 1.安装nodejs; 2.安装mysql数据库; 3.在mysql数据库中创建一个名为“testdb”的数据库。 步骤一:安装mysql模块 在node.js连接mysql需要使用mysql模块,如下所示安装mysql模块: ``` npm install mysql ``` 步骤二:连接mysql数据库 在使用mysql之前,需要先创建一个与mysql连接。使用以下代码,连接到本地mysql数据库testdb: ``` var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root',//此处填写你的用户名 password : 'password',//此处填写你的密码 database : 'testdb' }); connection.connect(function(err) { if (err) { console.error('error connecting: ' + err.stack); return; } console.log('connected as id ' + connection.threadId); }); ``` 请将“localhost”更改为您的mysql服务器地址,“root”更改为您的mysql用户名,“password”更改为您的mysql密码,以在本地mysql数据库中创建一个名为testdb的连接。 步骤三:执行mysql查询 连接mysql数据库后,您可以使用以下代码执行mysql查询: ``` connection.query('SELECT * FROM users', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results); }); ``` 当您运行此代码时,它将从mysql数据库中获取所有用户表中的数据,并将查询结果打印在控制台中。 好的,希望这些信息对你有所帮助,如果您还有其他问题,请随时问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值