MYSQL踩过的坑

Node.js连接Mysql数据库时出错,显示如下:

failed: SequelizeConnectionError: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server;

原因:mysql版本8.0以上引入了caching_sha2_password机制,但是在node.js中尚未支持此加密方式。
解决方案:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘YourRootPassword’
flush privileges
MySQL 8.0 版本授权 root 远程连接,修改权限,更改加密方式

未解决的问题,首先新建一个用户www,然后更改它的加密方式,退出后,用原来的密码登录不了。

mysql 运行外部脚本文件:
未登录状态:
mysql -u root -p -P3307 -D sampledb<E:/t_user.sql
注意:
①如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略
②如果【Mysql的bin目录】中包含空格,则需要使用""包含。 –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】
③命令末尾千万不要有分号,大坑啊

登陆状态:
mysql> use 数据库名;
mysql>source 【sql脚本文件的路径全名】,如:
mysql> source E:/t_user.sql;
注意:windows路径为E:\t_user.sql,但这里要用正斜杠/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值