標籤:
【環境說明】
伺服器版本 redHat5.3
mysql版本 MySQL5.6.22
freeradius版本 2.1.12
【問題描述】
配置好freeradius的sql.conf中的資料庫地址,以及登入使用者名稱和密碼後,使用“radiusd -X”偵錯模式啟動radius,控制台一直在漫長的輸出嘗試串連mysql的日 志,如下所示:
2014-12-30 09:27:39 DEBUG sql.c 93 - [RLM_SQL] Starting 0
2014-12-30 09:27:39 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #0
2014-12-30 09:27:39 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #0
2014-12-30 09:27:56 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #0
2014-12-30 09:27:56 DEBUG sql.c 93 - [RLM_SQL] Starting 1
2014-12-30 09:27:56 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #1
2014-12-30 09:27:56 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #1
2014-12-30 09:28:12 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #1
2014-12-30 09:28:12 DEBUG sql.c 93 - [RLM_SQL] Starting 2
2014-12-30 09:28:12 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #2
2014-12-30 09:28:12 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #2
2014-12-30 09:28:28 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #2
2014-12-30 09:28:28 DEBUG sql.c 93 - [RLM_SQL] Starting 3
2014-12-30 09:28:28 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #3
2014-12-30 09:28:28 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #3
2014-12-30 09:28:44 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #3
2014-12-30 09:28:44 DEBUG sql.c 93 - [RLM_SQL] Starting 4
2014-12-30 09:28:44 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #4
2014-12-30 09:28:44 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #4
2014-12-30 09:29:00 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #4
2014-12-30 09:29:00 DEBUG sql.c 93 - [RLM_SQL] Starting 5
2014-12-30 09:29:00 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #5
2014-12-30 09:29:00 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #5
2014-12-30 09:29:17 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #5
2014-12-30 09:29:17 DEBUG sql.c 93 - [RLM_SQL] Starting 6
2014-12-30 09:29:17 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #6
2014-12-30 09:29:17 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #6
2014-12-30 09:29:32 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #6
2014-12-30 09:29:32 DEBUG sql.c 93 - [RLM_SQL] Starting 7
2014-12-30 09:29:32 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #7
2014-12-30 09:29:32 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #7
2014-12-30 09:29:48 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #7
2014-12-30 09:29:48 DEBUG sql.c 93 - [RLM_SQL] Starting 8
2014-12-30 09:29:48 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #8
2014-12-30 09:29:48 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #8
2014-12-30 09:30:04 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #8
2014-12-30 09:30:04 DEBUG sql.c 93 - [RLM_SQL] Starting 9
2014-12-30 09:30:04 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #9
2014-12-30 09:30:04 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #9
2014-12-30 09:30:21 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #9
2014-12-30 09:30:21 DEBUG sql.c 93 - [RLM_SQL] Starting 10
2014-12-30 09:30:21 INFO sql.c 54 - [RLM_SQL] Attempting to connect rlm_sql_mysql #10
2014-12-30 09:30:21 INFO sql_mysql.c 79 - [RLM_SQL_MYSQL] Starting connect to MySQL server for #10
2014-12-30 09:30:37 INFO sql.c 58 - [RLM_SQL] Connected new DB handle, #10
到99以後提示失敗,經查閱相關資料,進行如下處理即解決問題
【解決辦法】
原理:關閉mysql伺服器串連的網域名稱解析
步驟:
1 vim /usr/my.cnf; mysql5.6.22版的設定檔在/usr/下,編輯my.cnf,在[mysqld]下增加一行“skip-name-resovle”,儲存退出;
2 重啟mysql;
3 重新啟動radius;
【可能存在問題】
mysql用戶端串連伺服器時,伺服器會對用戶端進行反向網域名稱解析,因此這個是耗時多的原因,取消網域名稱解析以後,mysql的許可權表(user表)中將不能再使用類似localhost之類的主機名稱,而必須使用ip地址。
---- <僅供參考> ----
freeradius串連mysql資料庫慢