转载: erlang连接mysql

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 转自:http://blog.csdn.net/flyinmind/article/details/7740540   项目中用到erlang,同时也用到mysql。惯例,google。 但是,按照网上说的做,有些出入,行不通,需要自己摸索,下面记录我摸索的东西。

转自: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).


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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
SQL 关系型数据库 MySQL
MySQL C连接与使用
【9月更文挑战第21天】在 MySQL 中,可以通过 C 语言连接和操作数据库。首先需安装 MySQL 服务器及 C 开发库,然后在程序中包含必要头文件,初始化连接对象,并使用实际参数建立连接。执行 SQL 语句时,需替换表名等变量,获取并遍历结果集。最后,释放资源并关闭连接。过程中应注意错误处理、内存管理和安全性,以及性能优化。此方式适用于高效数据存储和检索的应用程序。
|
3天前
|
SQL JavaScript 关系型数据库
Node服务连接Mysql数据库
本文介绍了如何在Node服务中连接MySQL数据库,并实现心跳包连接机制。
14 0
Node服务连接Mysql数据库
|
1月前
|
关系型数据库 MySQL 网络安全
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
这篇文章提供了解决Navicat无法连接腾讯云服务器上MySQL问题的步骤,包括调整防火墙设置、更新MySQL权限和检查远程连接配置。
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
|
1天前
|
关系型数据库 MySQL 数据库
docker启动mysql多实例连接报错Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
docker启动mysql多实例连接报错Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
11 0
|
30天前
|
安全 Java 关系型数据库
Java连接Mysql SSL初始化失败
Java连接Mysql SSL初始化失败
|
1月前
|
JavaScript 关系型数据库 MySQL
node连接mysql,并实现增删改查功能
【8月更文挑战第26天】node连接mysql,并实现增删改查功能
44 3
|
1月前
|
关系型数据库 MySQL Java
【Azure 应用服务】应用服务连接 Azure MySQL 一直失败,报错 Create connection error
【Azure 应用服务】应用服务连接 Azure MySQL 一直失败,报错 Create connection error
|
1月前
|
关系型数据库 MySQL 数据库
postgresql使用mysql_fdw连接mysql
通过以上步骤,你可以在PostgreSQL中访问和查询远程MySQL服务器的数据,这对于数据集成和多数据库管理非常有用。
81 0
|
1月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之连接到MySQL的从库时遇到其他服务也连接到了从库,该如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
关系型数据库 MySQL 数据库
成功解决:Navicat 连接虚拟机Docker中的mysql数据库失败(仅限某些特殊情况)
这篇文章介绍了在Ubuntu环境中使用Docker部署Flask项目的方法,包括创建测试项目、设置数据库、构建Flask和Nginx镜像以及容器编排,其中使用了MySQL 5.7作为数据库,Flask 2.0.2作为Web框架,Gunicorn 20.1.0作为应用服务器,Nginx 1.21.4作为反向代理,并解决了Navicat连接Docker中的MySQL数据库失败的问题。

热门文章

最新文章