erlang连接数据库mysql_erlang连接mysql

http://blog.csdn.net/flyinmind/article/details/7740540

项目中用到erlang,同时也用到mysql。惯例,google。

但是,按照网上说的做,有些出入,行不通,需要自己摸索,下面记录我摸索的东西。

1、下载erlang-mysql-driver;

下载地址:https://github.com/dizzyd/erlang-mysql-driver

2、解压到mysql目录,不罗嗦了;

3、编译

要先配置erlang路径,在/etc/profile中,将erlang的bin路径写入比如PATH=$PATH:/home/erlang/bin

否则提示rebar找不到到escript。

在源码目录,运行make,没有任何提示,所以不用这种方法,

将include下的mysql.hrl拷贝到src目录下,然后“erlc *.erl”,得到beam文件

在源码mysql目录下创建ebin目录,将这些beam文件拷贝到ebin下。

最后的目录结构式这样的

mysql

|---ebin

|---src

|---include

4、将整个mysql目录移到erlang中,假设你的erlang放在/home/erlang下

将mysql移到/home/erlang/lib/erlang/lib下,而不是直接放在/home/erlang/lib下。

可以了,打开erlang的终端测试一下

mysql:start_link(conn, "数据库IP或域名", 3306, "root", "密码", "数据库名称", undefined, utf8).

{data, Result} = mysql:fetch(conn, <>).

Rows = mysql:get_result_rows(Result).

5、去除不必要的打印信息

增加一个log函数,只容许error级别的打印,其他的都不打了。

log(Module, Line, Level, FormatFun) ->

case Level of

error ->

{Format, Arguments} = FormatFun(),

io:format("~w:~b: "++ Format ++ "~n", [Module, Line] ++ Arguments);

_ -> o

end

.

mysql:start_link(conn, "数据库IP或域名", 3306, "root", "密码", "数据库名称", fun log/4, utf8).

希望上面的内容对你有用,减少不必要的时间浪费:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值