CentOS 8安装MariaDB后radiusd服务启动失败报status=1错误
CentOS 8安装MariaDB后FreeRADIUS启动失败排查方案
radiusd -C配置校验返回成功但服务启动失败,说明配置语法无错误,故障出在运行时模块加载、依赖调用环节,按以下步骤定位修复:
1. 先获取精准报错信息
systemctl输出的日志不包含模块级错误详情,先杀掉残留radius进程,以前台debug模式启动服务,直接打印完整运行日志:
pkill radiusd radiusd -X
不要跳过这一步,
radiusd -C仅做静态语法校验,不会实际加载动态驱动、建立数据库连接,因此无法排查运行时依赖、连接类故障,前台debug日志是定位这类问题最高效的依据。
安装MariaDB后触发的启动失败,90%以上集中在sql对接环节,对应常见修复方案如下:
2. 常见故障修复
- 缺失FreeRADIUS MySQL对接驱动
CentOS 8源里的FreeRADIUS默认不会自动安装MariaDB/MySQL适配模块,开启sql配置后如果缺驱动会直接触发启动失败,执行命令安装驱动:dnf install -y freeradius-mysql - sql模块配置错误
编辑/etc/raddb/mods-available/sql文件核对以下配置:- 确认
driver参数值为rlm_sql_mysql,不要保留默认空值或其他驱动类型 - 确认数据库地址、连接账号、密码、库名和MariaDB中创建的radius实例信息完全匹配
- 提前确认MariaDB服务处于运行状态:
systemctl is-active mariadb,返回active才正常,未启动则执行systemctl enable --now mariadb
- 确认
- 数据库账号权限不足
配置中填写的radius连接账号,需要拥有localhost访问权限以及radius库的全量操作权限,登录MariaDB执行授权命令:GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY '你的radius数据库账号密码'; FLUSH PRIVILEGES; - 未导入FreeRADIUS基础表结构
如果仅创建了radius空库,未导入官方初始化表结构,sql模块初始化会失败,执行命令导入schema:mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
3. 修复后验证
所有配置调整完成后,先执行配置校验:
radiusd -C
返回Configuration appears to be OK后,启动服务并设置开机自启:
systemctl enable --now radiusd
内容的提问来源于stack exchange,提问作者doisanity
相关产品推荐
相关产品推荐

