总结一下今天碰到的问题

本文详细介绍了在使用Express框架、Babel编译器及MySQL数据库时遇到的典型问题及解决方案,包括处理循环引用、配置环境变量、解决MySQL认证模式不支持等,并分享了如何通过调整防火墙设置确保API调用成功。

1.Converting circular structure to JSON

使用express时报了一个这样的错

解决:这里需要把JSON对象转化成JSON字符串,具体看图:

 

2.[root@VM_0_7_centos app]# babel-node app
-bash: babel-node: command not found

这个我感觉很奇怪,后来百度了一下,他们说是还要配置一下环境变量,可是我已经用 -g全局安装了,算了直接简单粗暴

使用这句 ./node_modules/.bin/babel-node app.js,因为对linux不太熟所以直接这样好了以后在改进。

3.  Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

连接mysql时又报了这个错。

解决:

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword,' PASSWORD EXPIRE NEVER;   (如果这句还是执行不了,报了这个错:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost',

那么你就得先 

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select user, host from user
    -> ;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+

 

我这root对应的是%,所以改成ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword,' PASSWORD EXPIRE NEVER; 就ok,具体原理我也不清楚。

2.mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';(修改密码,可有可无)

3.mysql> FLUSH PRIVILEGES;  (这样应该就ok了)

 

4.客户端在调用api时还是失败了,第一反应是防火墙问题,

1.firewall-cmd --state 先查看防火墙状态

2.systemctl stop firewalld.service 最简单的方法直接关闭,关了后api就调用成功了!

状态码500和错误信息“Internal Server Error”表示服务器在处理`/depts`路径请求时遇到意外情况。解决此问题可从多方面入手。 可先检查服务器日志,不同服务器日志位置不同。如Apache服务器日志通常在`/var/log/apache2/error.log`(Linux)或`C:\Apache24\logs\error.log`(Windows),Nginx服务器日志通常在`/var/log/nginx/error.log`(Linux),查看日志能获取详细错误信息以定位问题[^2][^3]。 ```bash # 在Linux上查看Apache错误日志 tail -n 50 /var/log/apache2/error.log ``` 代码逻辑方面,状态码500错误可能源于代码错误。要检查代码是否有语法错误,尤其处理`/depts`路径的部分,同时确保有适当的异常处理机制。例如在Python的Flask框架中: ```python from flask import Flask app = Flask(__name__) @app.route('/depts') def depts(): try: # 处理部门逻辑 return "Department data" except Exception as e: # 记录异常信息 app.logger.error(f"Error in /depts: {e}") return "Internal Server Error", 500 if __name__ == '__main__': app.run(debug=True) ``` 若`/depts`路径请求涉及数据库操作,需检查数据库连接。要确保数据库服务运行正常,可使用`systemctl status mysql`等命令查看;还要检查数据库配置,包括主机名、端口、用户名、密码等是否正确。 服务器资源不足也可能导致该错误,可使用`top`、`htop`等命令查看系统资源使用情况。 ```bash # 使用top命令查看系统资源使用情况 top ``` 若请求涉及文件操作,要检查文件权限是否正确,可使用`ls -l /path/to/file_or_directory`命令查看。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值