基于ubuntu中使用mysql實現opensips用戶認證的解決方法_MySQL教程
推薦:MySQL查詢優化:用子查詢代替非主鍵連接查詢實例介紹對多的兩張表,一般是一張表的外鍵關聯到另一個表的主鍵,接下來為大家介紹下用子查詢代替非主鍵連接查詢,感興趣的朋友可以參考下哈,希望對你有所幫助
1 MySQL支持
1.1 MySQL模塊支持
默認安裝時,不包含MySQL模塊。
opensipsctlrc文件中包含了數據庫配置的信息,要想讓opensips支持mysql數據庫,在編譯安裝的時候
就要支持mysql模塊。方法如下:
(1)修改opensips中的Makefile.conf,在exclude_modules中去掉db_mysql,在include_modules中
添加db_mysql,然后重新編譯安裝。要添加支持的模塊都可以這樣操作。
(2)編譯時指定,make include_modules=”db_mysql” modules prefix=/ 。
在編譯安裝之前,需要安裝mysql的開發包,要不編譯通不過。方法如下:
$sudo apt-get install libmysqlclient-dev 。
2.2 安裝MySQL
使用sudo opensipsdbctl create創建數據庫在之前,要確認已經安裝了mysql。安裝方法如下:
$sudo apt-get install mysql-server mysql-client
安裝過程中提示輸入mysql的root用戶密碼。使用如下命令測試mysql是否安裝成功
$sudo mysql -p 輸入剛才設置的root密碼
MySQL URL格式如下:
mysql://username:password@domain/dbname
2.3 創建opensips數據庫
使用sudo opensipsdbctl create命令來創建數據庫,這個過程中要求輸入MySQL數據庫root用戶的密碼,
就是上一步輸入的密碼。然后還有一些附加的表讓你選擇是否創建,選擇之后opensips數據庫創建成功。
/sbin/opensipsdbctl是一個shell腳本,可以打開讀一下它的代碼就知道創建數據庫是怎么一個過程了。首先,
它會把/etc/opensips/opensipsctlrc這個配置文件包含進來,然后根據這個配置文件來創建數據庫,還涉及到
/lib/opensips/opensipsctl中的opensipsdbctl.base文件和 opensipsdbctl.mysql文件。
可以進入opensips數據庫查看一下有哪些表,用戶認證要用的是subscriber表。
2 用戶認證配置
上一節中已經說明了怎么讓opensips支持MySQL數據庫,用戶認證是在上一節的基礎上完成的。
這部分的主要工作是對opensips配置文件的修改,包括opensips.cfg和opensipsctlrc文件。配置文件opensips.cfg中
要修改全局變量、加載db_mysql.so、auth.so和auth_db.so動態庫,并配置相應的參數,以及修改路由策略,同時配置文件
opensipsctlrc中也要修改一些參數。
配置文件opensips.cfg如下:
配置的過程中在網上找了很多資料,通常是配置文件檢查能通過,但總是不能運行opensips,對這些資料深表懷疑,不知道
他們有沒有真正實踐過!
最后還是決定看官方的說明,如opensips mysql installation的英文PDF、opensips源碼包中的INSTALL文件等。
INSTALL文件中只說明了要向opensips.cfg文件中添加那些配置代碼,而沒有詳細說明要把這些語句加在什么位置,而且
其中好像還有錯誤,不能使用break,而是exit。opensips mysql installation的英文PDF中說明了具體的位置,但是還要
根據自己的實際情況來配置。
配置完成以后要檢查配置文件語法是否正確,命令如下:
$sudo opensips –c
檢查通過以后啟動opensips,命令如下:
$sudo opensipsctl start
如果啟動時出現錯誤,查看系統日志了解具體原因,然后針原因解決問題。
$vim /var/log/syslog
3 測試
添加SIP用戶:
語法:opensipsctl add <username> <password>
opensipsctl add alice@192.168.139.121 123456
opensipsctl add bob@192.168.139.121 123456
然后下載SIP客戶端進行測試!
分享:MySQL查詢優化:LIMIT 1避免全表掃描提高查詢效率在某些情況下,如果明知道查詢結果只有一個,SQL語句中使用LIMIT 1會提高查詢效率,感興趣的朋友可以了解下哈,希望對你優化mysql查詢有所幫助
- MSSQL清空日志刪除日志文件
- 關于數據庫中保留小數位的問題
- 解析mysql與Oracle update的區別
- mysql 導入導出數據庫以及函數、存儲過程的介紹
- MySQL——修改root密碼的4種方法(以windows為例)
- 解決MYSQL出現Can''t create/write to file ''#sql_5c0_0.MYD''的問題
- 深入理解SQL的四種連接-左外連接、右外連接、內連接、全連接
- 解析:內聯,左外聯,右外聯,全連接,交叉連接的區別
- mysql出現“Incorrect key file for table”處理方法
- mysql重裝后出現亂碼設置為utf8可解決
- 淺析一個MYSQL語法(在查詢中使用count)的兼容性問題
- 解析MySQL中INSERT INTO SELECT的使用
- 相關鏈接:
- 教程說明:
MySQL教程-基于ubuntu中使用mysql實現opensips用戶認證的解決方法。