freeswitch在ubuntu/centos/debian中使用odbc连接mysql
一、配置需求
- 1、freeswitch
- 2、mysql
- 3、ubuntu/debian/centeos
二、安装odbc驱动
1、debian/Ubuntu 14配置安装odbc驱动
直接使用apt-get
安装即可:
apt-get install unixodbc-dev
apt-get install libmyodbc
2、Centos6.x系统配置安装odbc驱动
yum install mysql-connector-odbc.x86_64 unixODBC-devel.x86_64
3、Ubuntu 16及以上
a、安装依赖包:
apt-get install unixodbc-dev
b、下载odbc驱动
下载mysql
的ubuntu odbc
驱动,下载地址:mysql odbc,比如我的Ubuntu 16.04.2 LTS
服务器操作如下:
wget https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.13-linux-ubuntu16.04-x86-64bit.tar.gz
# 解压安装包
tar -zxvf mysql-connector-odbc-8.0.13-linux-ubuntu16.04-x86-64bit.tar.gz
# 拷贝lib里面的.so到/usr/lib/x86_64-linux-gnu/odbc/
在解压的bin里面
cp -r mysql-connector-odbc-8.0.13-linux-ubuntu16.04-x86-64bit/lib/* /usr/lib/x86_64-linux-gnu/odbc/
c、配置odbc驱动
进入/root/lusong/mysql-connector-odbc-8.0.13-linux-ubuntu16.04-x86-64bit/bin
然后执行安装:
./myodbc-installer -d -a -n "MySQL ODBC 8.0 Unicode Driver" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so;SETUP=/usr/lib/x86_64-linux-gnu/odbc/myodbc8S.so"
./myodbc-installer -d -a -n "MySQL ODBC 8.0 ANSI Driver" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so;SETUP=/usr/lib/x86_64-linux-gnu/odbc/lmyodbc8S.so"
或者新建一个/etc/odbcinst.ini
文件并且添加以下内容:
[MySQL ODBC 8.0 Unicode Driver]
Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so
SETUP=/usr/lib/x86_64-linux-gnu/odbc/myodbc8S.so
UsageCount=1
[MySQL ODBC 8.0 ANSI Driver]
Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so
SETUP=/usr/lib/x86_64-linux-gnu/odbc/lmyodbc8S.so
UsageCount=1
他们两个的作用是一样的。
三、配置ODBC与mysql对接
新增vim /etc/odbc.ini
加入如下配置,让他与数据库连接:
[freeswitch]
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so
SERVER = 127.0.0.1
DATABASE = freeswitch
USER = root
PASSWORD = 123456
OPTION = 67108864
PORT = 3306
Threading = 0
注意
你下载的哪个版本的odbc
驱动,libmyodbc8w
就把8
改成其他版本
此处可以连接远程服务区,不一定是本地服务器。
测试连接mysql服务器:
isql -v freeswitch
四、指定数据库连接
修改conf/autoload_configs/switch.conf.xml
中的core-db-dsn
<param name="core-db-dsn" value="odbc://freeswitch:username:password"/>
# 如果上面设置了账号密码,可以直接使用如下方法
<param name="core-db-dsn" value="odbc://freeswitch::" />
另外,我们也可以在mod_sofia
的配置文件(如conf/sip_profiles/internal.xml
)或mod_fifo
的配置文件fifo.conf.xml
中使用
如下参数开启对ODBC的支持:
<param name="odbc-dsn" value="odbc://freeswitch:username:password"/>
说明:
- odbc:连接方式
- freeswitch:数据库名
- username:用户名
- password:密码
五、配置其他模块连接
1、修改conf/autoload_configs
中的db.conf.xml
文件
<param name="odbc-dsn" value="freeswitch:root:password"/>
2、修改conf/autoload_configs
中的switch.conf.xml
修改字段
<param name="core-db-dsn" value="freeswitch:root:password" />
添加
<param name="odbc-dsn" value="freeswitch:root:password"/>
3、修改conf/autoload_configs
中的voicemail.conf.xml
<param name="odbc-dsn" value="freeswitch:root:password"/>
4、修改conf/autoload_configs
中的callcenter.conf.xml
<param name="odbc-dsn" value="freeswitch:root:password"/>
5、修改conf/sip_profiles
中的internal.xml
和external.xml
,internal-ipv6.xml
<param name="odbc-dsn" value="freeswitch:root:password"/>
其他模块请搜索odbc-dsn
六、常见问题
1、Failure! ODBC NOT AVAILABLE! Can't connect to DSN freeswitch
-
1、首先检查unixODBC与unixODBC-devel安装是否有问题,在看下
isql -v freeswitch
是否能连接上 -
2、如果安装都没问题,那就可能是安装时没有
./configure --enable-core-odbc-support
,在进入freeswitch
源码目录下,执行重新make&& make install
就可以了
2、运行freeswitch
后,循环报Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
修改代码中的create_channels_sql
中的sql
语句,switch_core_sqldb.c
,把几个长字段类型改成TEXT
。注意修改后需要重新编译一下freeswitch
用户评论
更多相关好文
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论