环境:Oracle Enterprise Linux R5U7

  • 安装mySQL

关于离线安装,下次在尝试,目前先来在线安装,过程如下:

$ rpm -qa | grep -i mysql
$ wget http://public-yum.oracle.com/public-yum-el5.repo
$ sed -e "s/enabled=0/enabled=1/" public-yum-el5.repo > /etc/yum.repos.d/public-yum-el5.repo
$ yum install -y mysql-server mysql

输出如下

[root@localhost ~]# yum install -y mysql-server mysql
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
ULN support will be disabled.
el5_addons | 1.2 kB 00:00
el5_addons/primary | 117 kB 00:01
el5_addons 448/448
el5_ga_base | 1.1 kB 00:00
el5_ga_base/primary | 993 kB 00:01
el5_ga_base 3887/3887
el5_latest | 1.4 kB 00:00
el5_latest/primary | 29 MB 00:19
el5_latest 15394/15394
el5_oracle_addons | 951 B 00:00
el5_oracle_addons/primary | 1.7 kB 00:00
el5_oracle_addons 7/7
el5_u1_base | 1.1 kB 00:00
el5_u1_base/primary | 1.0 MB 00:02
el5_u1_base 3968/3968
el5_u2_base | 1.1 kB 00:00
el5_u2_base/primary | 1.0 MB 00:03
el5_u2_base 4101/4101
el5_u3_base | 1.1 kB 00:00
el5_u3_base/primary | 1.1 MB 00:02
el5_u3_base 4172/4172
el5_u4_base | 1.1 kB 00:00
el5_u4_base/primary | 1.1 MB 00:01
el5_u4_base 4285/4285
el5_u5_base | 1.1 kB 00:00
el5_u5_base/primary | 1.1 MB 00:01
el5_u5_base 4372/4372
el5_unsupported | 1.2 kB 00:00
el5_unsupported/primary | 370 kB 00:00
el5_unsupported 1320/1320
ol5_UEK_base | 1.2 kB 00:00
ol5_UEK_base/primary | 685 kB 00:13
ol5_UEK_base 28/28
ol5_UEK_latest | 1.2 kB 00:00
ol5_UEK_latest/primary | 28 MB 00:22
ol5_UEK_latest 595/595
ol5_spacewalk20_client | 1.2 kB 00:00
ol5_spacewalk20_client/primary | 8.4 kB 00:00
ol5_spacewalk20_client 42/42
ol5_spacewalk22_client | 1.2 kB 00:00
ol5_spacewalk22_client/primary | 10 kB 00:00
ol5_spacewalk22_client 51/51
ol5_spacewalk24_client | 1.2 kB 00:00
ol5_spacewalk24_client/primary | 8.5 kB 00:00
ol5_spacewalk24_client 41/41
ol5_u10_base | 1.4 kB 00:00
ol5_u10_base/primary | 1.5 MB 00:37
ol5_u10_base 4716/4716
ol5_u11_base | 1.4 kB 00:00
ol5_u11_base/primary | 1.5 MB 00:40
ol5_u11_base 4721/4721
ol5_u5_base | 951 B 00:00
ol5_u5_base/primary | 14 kB 00:00
ol5_u5_base 53/53
ol5_u6_base | 1.1 kB 00:00
ol5_u6_base/primary | 1.5 MB 00:02
ol5_u6_base 4551/4551
ol5_u7_base | 1.1 kB 00:00
ol5_u7_base/primary | 1.5 MB 00:03
ol5_u7_base 4605/4605
ol5_u8_base | 1.4 kB 00:00
ol5_u8_base/primary | 1.5 MB 00:34
ol5_u8_base 4639/4639
ol5_u9_base | 1.4 kB 00:00
ol5_u9_base/primary | 1.2 MB 00:02
ol5_u9_base 4688/4688
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql.i386 0:5.0.95-5.el5_9 set to be updated
--> Processing Dependency: perl(DBI) for package: mysql
---> Package mysql.x86_64 0:5.0.95-5.el5_9 set to be updated
---> Package mysql-server.x86_64 0:5.0.95-5.el5_9 set to be updated
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:3.0007-2.el5 set to be updated
---> Package perl-DBI.x86_64 0:1.52-2.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================
Package Arch Version Repository Size
======================================================================================================
Installing:
mysql i386 5.0.95-5.el5_9 el5_latest 4.9 M
mysql x86_64 5.0.95-5.el5_9 el5_latest 4.9 M
mysql-server x86_64 5.0.95-5.el5_9 el5_latest 9.9 M
Installing for dependencies:
perl-DBD-MySQL x86_64 3.0007-2.el5 ol5_u7_base 147 k
perl-DBI x86_64 1.52-2.el5 ol5_u7_base 605 k

Transaction Summary
=======================================================================================================
Install 5 Package(s)
Upgrade 0 Package(s)

Total download size: 20 M
Downloading Packages:
(1/5): perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm | 147 kB 00:00
(2/5): perl-DBI-1.52-2.el5.x86_64.rpm | 605 kB 00:01
(3/5): mysql-5.0.95-5.el5_9.i386.rpm | 4.9 MB 00:07
(4/5): mysql-5.0.95-5.el5_9.x86_64.rpm | 4.9 MB 02:32
(5/5): mysql-server-5.0.95-5.el5_9.x86_64.rpm | 9.9 MB 00:11
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total 117 kB/s | 20 MB 02:57
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-DBI 1/5
Installing : mysql 2/5
Installing : perl-DBD-MySQL 3/5
Installing : mysql-server 4/5
Installing : mysql 5/5

Installed:
mysql.i386 0:5.0.95-5.el5_9 mysql.x86_64 0:5.0.95-5.el5_9 mysql-server.x86_64 0:5.0.95-5.el5_9

Dependency Installed:
perl-DBD-MySQL.x86_64 0:3.0007-2.el5 perl-DBI.x86_64 0:1.52-2.el5

Complete!
[root@localhost ~]#

启动mysql

$ /etc/init.d/mysqld start
$ mysql -uroot -e "SELECT VERSION()"

+-----------+
| version() |
+-----------+
| 5.0.95 |
+-----------+

建表 user

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)

mysql> select now(),user(),version();
+---------------------+----------------+-----------+
| now() | user() | version() |
+---------------------+----------------+-----------+
| 2016-10-12 14:12:27 | root@localhost | 5.0.95 |
+---------------------+----------------+-----------+
1 row in set (0.00 sec)

mysql> use test
Database changed
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)

mysql> select database();
+------------+
| database() |
+------------+
| test |
+------------+
1 row in set (0.00 sec)

mysql> show tables;
Empty set (0.00 sec)

mysql> create table user(
-> id int,
-> name varchar(50),
-> age tinyint(4)
-> );
Query OK, 0 rows affected (0.00 sec)

  • Node.js的Express框架下的配置

在node.js项目中安装mysql.

[weblogic@localhost myapp-express]$ npm install mysql
mysql@2.11.1 node_modules/mysql
├── sqlstring@2.0.1
├── bignumber.js@2.3.0
└── readable-stream@1.1.14 (string_decoder@0.10.31, isarray@0.0.1, inherits@2.0.3, core-util-is@1.0.2)

在myapp-express下建立三个目录,并加入一些js文件

util – 工具方法

conf – 配置

dao – 与数据库交互

添加文件如下

conf下:

db.js,主要保留和数据库的连接信息

module.exports = {
mysql: {
host: '127.0.0.1',
user: 'root',
password: '',
database:'test',
port: 3306
}
};

util下:

util.js

module.exports = {
extend: function(target, source, flag) {
for(var key in source) {
if(source.hasOwnProperty(key))
flag ?
(target[key] = source[key]) :
(target[key] === void 0 && (target[key] = source[key]));
}
return target;
}
}

dao下 usrSqlMapping.js (主要存放sql语句)

// dao/userSqlMapping.js
var user = {
insert:'INSERT INTO user(id, name, age) VALUES(0,?,?)',
update:'update user set name=?, age=? where id=?',
delete: 'delete from user where id=?',
queryById: 'select * from user where id=?',
queryAll: 'select * from user'
};

module.exports = user;

业务逻辑 userDao.js

var mysql = require('mysql');
var $conf = require('../conf/db');
var $util = require('../util/util');
var $sql = require('./userSqlMapping');

var pool = mysql.createPool($util.extend({}, $conf.mysql));

var jsonWrite = function (res, ret) {
if(typeof ret === 'undefined') {
res.json({
code:'1',
msg: 'Error Msg'
});
} else {
res.json(ret);
}
};

module.exports = {
add: function (req, res, next) {
pool.getConnection(function(err, connection) {
var name = req.query.name;
var age = req.query.age;
connection.query($sql.insert, [name,age], function(err, result) {
if(result) {
result = {
code: 200,
msg:'Add Successfully'
};
}

在routes目录的index.js下添加

var userDao = require('../dao/userDao');

router.get('/addUser', function(req, res, next) {
userDao.add(req,res,next);
});

测试,访问 http://127.0.0.1:3000/addUser?name=ericnie&age=42

然后查看mysql数据库

mysql> select * from user;
+------+---------+------+
| id | name | age |
+------+---------+------+
| 0 | ericnie | 42 |
+------+---------+------+
1 row in set (0.00 sec)

经过实践,node.js确实比较容易使用!值得深入学习

Node.js 连接mySQL程序的更多相关文章

  1. Node.js连接Mysql,并把连接集成进Express中间件中

    引言 在node.js连接mysql的过程,我们通常有两种连接方法,普通连接和连接池. 这两种方法较为常见,当我们使用express框架时还会选择使用中间express-myconnection,可以 ...

  2. Node.js 连接 MySQL 并进行数据库操作

    Node.js 连接 MySQL 并进行数据库操作  按照这篇操作mysql的指引,我远程操作了我另一台电脑的mysql数据库. var mysql = require('mysql'); var c ...

  3. Node.js连接MySQL数据库及构造JSON的正确姿势

    做一下整理,以前也很随意的引入包链接数据库,后来发现常常连接出问题,异常退出,后来使用在网上一个方法解决问题,网址由于书签丢失,抱歉不能引用了.再有就是简单的模块化下,使得目录合理点,再有就是说明一下 ...

  4. node.js连接MySQL操作及注意事项

    node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是nod ...

  5. Node.js连接MySQL数据库报错

    解决Node.js第一次连接MySQL数据库时出现[SELECT ERROR] - ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authen ...

  6. 50.Node.js 连接 MySQL

    转自:http://www.runoob.com/nodejs/nodejs-express-framework.html 安装驱动 本教程使用了淘宝定制的 cnpm 命令进行安装: $ cnpm i ...

  7. Node.js连接mysql报加密方式错误解决方案

    本人在学习全栈开发过程中做一个Node的web项目在连接本地MySQL8.0版本的数据库时,发现Navicat连接不上,它报了一个数据库的加密方式导致连接不上的错误,错误如下: MySQL8.0版本的 ...

  8. node.js 连接 mysql

    var mysql = require("mysql"); var connection = mysql.createConnection({ host: '127.0.0.1', ...

  9. Node.js连接Mysql

    1.安装 npm install mysql 注意要复制node_modules到当前工程的文件夹中 2.基本连接 /** * Created by Administrator on 13-12-25 ...

随机推荐

  1. CVE-2016-6662 mysql RCE测试

    参考:http://bobao.360.cn/learning/detail/3027.html ,我尝试第一种方法 1.先修改mysql_hookandroot_lib.c里面的反弹地址和端口: # ...

  2. 【洛谷】xht模拟赛 题解

    前言 大家期待已久并没有的题解终于来啦~ 这次的T1和HAOI2016撞题了...深表歉意...表示自己真的不知情... 天下的水题总是水得相似,神题各有各的神法.--<安娜·卡列妮娜> ...

  3. [ Openstack ] Openstack-Mitaka 高可用之 memcache

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  4. idea打包jar的多种方式,用IDEA自带的打包形式,用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包,用Maven插件maven-assembly-plugin打包

    这里总结出用IDEA打包jar包的多种方式,以后的项目打包Jar包可以参考如下形式: 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-a ...

  5. poj 3254(状态压缩+动态规划)

    http://poj.org/problem?id=3254 题意:有一个n*m的农场(01矩阵),其中1表示种了草可以放牛,0表示没种草不能放牛,并且如果某个地方放了牛,它的上下左右四个方向都不能放 ...

  6. Laravel跳转回之前页面,并携带错误信息

    用Laravel5.1开发项目的时候,经常碰到需要携带错误信息到上一个页面,开发web后台的时候尤其强烈. 直接上: 方法一:跳转到指定路由,并携带错误信息 return redirect('/adm ...

  7. AC日记——[NOIP2015]运输计划 cogs 2109

    [NOIP2015] 运输计划 思路: 树剖+二分: 代码: #include <cstdio> #include <cstring> #include <iostrea ...

  8. (转帖)关于easyui中的datagrid在加载数据时候报错:无法获取属性"Length"的值,对象为null或未定义

    结贴说明: 很感谢sp1234等人的热心帮忙和提醒,现在我主要说明下问题所在: 首先我在独立的js文件中,直接把测试数据loaddata进去datagrid是没有问题的.var kk = {" ...

  9. 组合数学+错排问题【p4071】[SDOI2016]排列计数

    Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是 ...

  10. 转:mysql group by 用法解析(详细)

    group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...