nodejs连接mysql数据库遇到的一些问题 |
您所在的位置:网站首页 › nsrcm又连不上 › nodejs连接mysql数据库遇到的一些问题 |
大前提:(如果已安装可跳过) a:电脑装一个mysql数据库(百度,有很多) b:找到这个目录,新建文件my.ini,设置编码字符集,内容如下: [client] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=C:\Program Files\MySQL\MySQL Server 8.0(注意:这里写你自己的目录) # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错 # datadir=C:\\web\\sqldata # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [mysql] default-character-set = utf8命令行 show variables like ‘%char%’; 可以查看编码字符集显示(要先连接上数据库才能看到,怎么连接?看d) c:然后找到这个目录,shift+鼠标右键,打开命令窗口,执行命令 net start mysql,启动服务; 对应的 net stop mysql 退出服务; d:这里说一下,用命令行连接mysql数据库,不想看的可以忽略直接看nodejs连接方式: mysql -u root -p // 回车 Enter password:******* 连接成功。 e:最好是先创建一个数据库和表格以及几条数据,为nodejs连接做准备;这里不细说了,贴个连接自己试试吧。mysql命令行增删改查 或者自行百度。 nodejs连接方式 1.在node_modules里面下载mysql依赖,然后在server.js里面引入(server.js是写在项目根目录的node中间层) var mysql = require("mysql"); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '密码', port: '3306', database : '数据库名称' }); // 连接数据库 connection.connect(); // 声明查询语句 var sql = 'SELECT * FROM 数据库里的某个表格名称'; //查 connection.query(sql,function (err, result) { if(err){ console.log('[SELECT ERROR] - 读取数据失败',err); return; } if(!err){ console.log("读取数据成功") console.log(result); } }); // 退出连接 connection.end();2.执行完 命令 node server.js 之后,遇到了报错:[SELECT ERROR] - 读取数据失败 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 翻译过来就是说:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端 还是不明白啥意思,各种百度,然后找到解决办法:(虽然还是不懂为什么这样,但能解决就好) 在mysql服务窗口执行命令: ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’, 然后窗口会显示 OK… , 再执行 node server.js 就不会报错了。 nodejs就连接成功mysql了 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |