mac上让freeswitch使用mysql代替sqlite
1.安装unixodbc:
brew install unixodbc安装到/usr/local/Cellar/unixodbc/2.3.4/下面
2.安装mysql odbc driver
去到mysql官网下载mac版mysql odbc driver点击打开链接
下载的mysql-connector-odbc-5.3.9-macos10.12-x86-64bit.dmg安装后位于/usr/local/mysql-connector-odbc-5.3.9-macos10.12-x86-64bit/
3.配置ODBC
cd bin/
./myodbc-installer -d -a -n "MySQL ODBC 5.3 Driver" -t "DRIVER=/usr/local/lib/libmyodbc5a.so"生成或者更新 /Library/ODBC/odbcinst.ini
./myodbc-installer -s -c2 -a -n "freeswitch" -t "DRIVER=MySQL ODBC 5.3 ANSI Driver;SERVER=localhost;DATABASE=freeswitch;UID=myuser;PWD=mypassword;OPTION=67108864"
生成或者更新 /Library/ODBC/odbc.ini
将上述两步生成的odbc.ini odbcinst.ini拷贝到/usr/local/Celler/unixodbc/2.3.4/etc/下面(覆盖原来的两个文件)
启动mysql:
mysqld_safe --skip-grant-tables
或者mysql.server restart
执行isql -v freeswitch 如果出现下面的显示说明odbc安装成功:
4.准备数据库
以root身份登录mysql: mysql -u root -p然后创建一个用户lifeng,密码123456: create user lifeng@'%' identified by '123456';
授权用户新创建的用户lifeng有权访问数据库里的各类资源:
grant all privileges on *.* to lifeng@'%' identified by '123456';
flush privileges;
在freeswitch中添加表格userinfo和用户数据进去:
CREATE TABLE userinfo (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(10) DEFAULT NULL,
`password` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
insert into userinfo (username, password) values('test1', '1234');
insert into userinfo (username, password) values('test2', '12345');
insert into ...
5.修改用户注册部分,转接到lua脚本进行注册验证
修改freeswitch/conf/autoload_configs/lua.conf.xmlgen_dir_user_xml.lua内容如下: