1. 总结要点:
用到的工具:mysql数据库、Navicat可视化工具、vscode/webstorm、node环境
要点:
-
首先安装好node环境、安装好Navicat可视化工具
-
使用
npm install mysql安装好mysql 依赖 -
在Navicat中建好数据库名,我这里是 test
2. 相关代码:
先 npm install mysql
// dbtest.js
let mysql = require('mysql');
let cfg = {
host: 'xxxxxx', // 这里填主机地址
user: 'root', // 用户名
port: 3601, // 端口号,若是默认的3306则不需要去填写
password: 'xxxxxxxxxx', //密码
database: 'test' // 数据库名
}
let db = mysql.createConnection(cfg);
db.connect(err => {
if(err) throw err;
console.log('连接成功')
});
运行命令: node dbtest.js
报错:
原因:登录数据库的客户端跟mysql8.0不兼容了,mysql8.0密码认证采用了新的密码格式
在相关的mysql终端执行以下命令:其中 password要改成自己数据库的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
没接触过后端,这终端报没查到该命令
ALTER 是 sql 语句,要在 mysql 终端中运行
省略一系列的面向浏览器操作。。。。
。。。。一段时间过后。。。。。。。
要下载一个 mysql 客户端么?公司后端说,不需要下载,自己有数据库的地址,不用下客户端
一开始后端发了我 Navicat 的安装包,我也安装了,并且使用其链接上了数据库。那该怎么操作?
发现右键数据库名,有个命令列界面,打开后就得到了2的页面
再次输入命令如下:
连接还是失败
。。。。。。。。又面向浏览器。。。。。。。。。。。。
。。。。。。。。求助同事。。。。。。。。。。。。。。
。。。。。。。。一起面向浏览器。。。。。。。。。。。
。。。。。一些尝试过后,一段时间过后。。。。。。。。。。。。。。。
查看之前搜到的答案,发现自己只看了下图1的部分,2和3都没有去看,然后按照以下操作去操作,执行到步骤3,再链接数据库,数据库终于连接上了。
执行代码:ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
最终代码:
let mysql = require('mysql');
let cfg = {
host: 'xxxxxx', // 这里填主机地址
user: 'root', // 用户名
port: 3601, // 端口号,若是默认的3306则不需要去填写
password: 'xxxxxxxxxx', //密码
database: 'test' // 数据库名
}
let db = mysql.createConnection(cfg);
db.connect(err => {
if(err) throw err;
console.log('连接成功')
});
let sql = 'SELECT * FROM weather'; // weather:要查询的表名
db.query(sql,function (err, result) {
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
}
console.log('--------------------------SELECT----------------------------');
console.log(result);
console.log('------------------------------------------------------------\n\n');
});
db.end();