学习记录:
1、mysql8.0版本安装之后连接不上数据库
参考:http://www.huyongdi.com/2018/05/16/nodejs-express-mysql%E5%B0%8F%E5%85%A8%E6%A0%88%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
解决办法:安装的时候修改密码强度:默认的为强密码模式,手动选择下面一个宽松模式
Mac机修改:在系统偏好设置中点击MySql,然后按图索骥。
选择“Use Legacy Password Encryption”,点击OK即可。
2、Mac找不到mysql命令
mysql -u root -p
在home下的.bash_profile中添加export PATH=${PATH}:/usr/local/mysql/bin(确认路径正确)
然后调用source ~/.bash_profile使配置生效
这时如果还有问题:Access denied for user 'gemo'@'localhost' (using password: NO)
则重启Mysql服务即可。
如果不行,这里就帮不了你了。
3、命令行创建数据库create database xxx;
这里的分号是要的,不然没有效果,不知道为什么,一开始我没加分号,然后啥也没有,以为又出什么问题了(不知道这算不算)
4、经过以上操作,在node.js中已经可以正常使用mysql了。
var mysql = require('mysql'); var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test'// 如果没有则需要先创建,参考3,否则报错 }); connection.connect(); // sql是数据库SQL语句,params就是SQL语句携带的参数,params是一个数组 connection.query(sql, params, function (error, results) { if (error) console.log(error); console.log(results); })5、可以使用sequelize对mysql进行基本操作。具体的百度吧。