erlang串連mysql

來源:互聯網
上載者:User

標籤:blog   http   io   ar   sp   for   檔案   on   資料   

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, <<"select * from t_users">>).
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).

 

希望上面的內容對你有用,減少不必要的時間浪費:)

erlang串連mysql

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.