debian8中将freeswitch1.6的 core数据库换成mysql

本文详细介绍如何在FreeSWITCH中集成MySQL数据库,包括安装MySQL和ODBC、配置ODBC、创建数据库、测试连接以及重新编译FreeSWITCH等步骤。

1、安装mysql

 

2、安装ODBC

apt-get install unixodbc-dev
apt-get install libmyodbc

3、配置ODBC
vi /etc/odbc.ini加入
[freeswitch]
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
SERVER = localhost
PORT = 3306
DATABASE = freeswitch
OPTION = 67108864
USER = freeswitch
PASSWORD = 123456


vi /etc/odbcinst.ini加入
[mysql]
Description = MySQL driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
UsageCount = 1
FileUsage = 1
Threading = 0

您的支持,是我持续创作的动力!!!!


4、建立数据库
 mysql -u root -p  

insert into mysql.user(Host,User,Password) values("localhost","freeswitch",password("123456"));

或create user 'freeswitch'@'%' identified by '123456';

create database freeswitch;
grant all privileges on freeswitch.* to 'freeswitch'@'%' identified by "123456";
flush  privileges;
exit;


5.      测试连接
isql -v freeswitch


数据库默认位置/var/lib/mysql


6、重新编译freeswitch
rm config.cache
./configure -C
make

make install

 

7、指定数据库连接

修改conf\autoload_configs\switch.conf 中的core-db-dsn
<param name="core-db-dsn" value="odbc://freeswitch:freeswitch:123456"/>
说明:odbc://连接方式
     freeswitch:数据库名
     freeswitch:用户名
     123456:密码

 

Debian 12 系统中使用 MySQL 替代 FreeSWITCH 原有数据库可按以下步骤操作: 1. **确认数据库连接**:使用 MySQL 替代原有数据库,可让多个 FreeSWITCH 使用同一 MySQL 数据库。使用 `isql freeswitch -v` 命令,若显示如下内容则表示正常连接: ```plaintext +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ ``` 2. **下载并编译安装 FreeSWITCH 源码**:具体编译安装可参照之前的 FreeSWITCH 编译安装方法,不过在 `./configure` 步骤时需进行特定配置(引用未详细说明,需进一步查找相关资料) [^1]。 ### 相关脚本示例(可选) 若涉及紧急配置同步,可创建 Python 脚本 `/opt/scripts/sync_emergency_config.py`,用于同步紧急号码配置和主叫白名单: ```python import redis import MySQLdb import schedule import time def sync_config(): # 连接 MySQL db = MySQLdb.connect("localhost","user","pass","db") cursor = db.cursor() # 同步紧急号码配置 cursor.execute("SELECT prefix, is_blocked FROM emergency_config") r = redis.Redis(host='localhost', port=6379, db=10) r.delete("emergency:config") for row in cursor.fetchall(): r.hset("emergency:config", row[0], row[1]) # 同步主叫白名单 cursor.execute("SELECT caller_id FROM emergency_whitelist") r.delete("emergency:whitelist") for row in cursor.fetchall(): r.sadd("emergency:whitelist", row[0]) db.close() # 每5分钟同步一次 schedule.every(5).minutes.do(sync_config) while True: schedule.run_pending() time.sleep(1) ``` 此脚本可使用 Systemd 进行管理,以保证同步服务稳定运行 [^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值