Linux下的 mariadb 使用 root 用户启动方式(推荐)
近日因测试安全产品需要,想调整mariadb的启动用户为root, 经历一番波折后终于成功!
注意:以root身份启动mysql是一项非常危险行为,相当于给了数据库操作用户(数据库管理员或黑客)一个通过mysql对系统直接操作的通道!
实际上是官方不允许root启动的, 因此在一般启动方式下root启动会返回启动失败,并于 /var/log/mariadb/mariadb.log 中提示
Please consult the Knowledge Base to find out how to run mysqld as root!
好吧,转入正题,关于Mariadb 启动方式:
一般人就会操作: systemctl start mariadb
然而这个指令实际上就是调用了 mariadb.service (具体目录用find找),执行对 mariadb 进行启动。
mariadb.service 修改配置如下:
# vi `find /usr -name 'mariadb.service' `
[Unit]
略
[Service]
Type=simple
User=mysql 此处修改为 User=root || 服务的启动用户
Group=mysql 此处修改为 Group=root || 服务的启动组
#初始化mysql库文件的脚本,如果 mysql目录不为空会提示 Database Mariadb is probably initialized in /var/lib/mysql already, nothing is done, 如果排错时看见此内容可忽略
ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n
#执行mysqld的执行脚本,做了安全检查,就是这个文件限制root启动的
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
此处添加参数 --user=root
以下略。。。
#systemctl demon-reload
#systemctl restart mariadb
PS:同样操作方式支持mysql以其他用户启动,
BUT /var/lib/mysql /var/log/mariadb
这两个目录的权限或属主需作调整。
总结
以上所述是小编给大家介绍的Linux下的 mariadb 使用 root 用户启动方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- 人工智能、区块链、图灵测试……这30个大数据热词你真的都懂吗?
- Enterprise Library 4.1学习笔记4----缓存应用程序块
- 设置py文件的路径
- jenkins中通过git发版操作记录
- Enterprise Library 4.1学习笔记3----安全应用程序块
- mysql密码遗忘和登陆报错问题
- 新一轮发展趋势:城市智能化已经势不可挡
- Enterprise Library 4.1学习笔记2----数据访问程序块
- 微信小程序中用户唯一ID的获取
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- Enterprise Library 4.1学习笔记1----配置应用程序块(c/s和b/s均适用)
- 简单账本-用完即走的微信小程序
- 新技术革命和新产业变革正进行 “互联网+大数据+人工智能+”时代正到来
- 微信小程序开发及相关设置小结
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Redis中的管道Pipeline操作
- 查看YARN任务日志的几种方式
- 简易数字频率计(verilog HDL设计)(2020维护版本)
- C++核心准则CP.111:如果真的需要好双重检查锁,使用惯用模式
- C++核心准则CP.200:使用volatile只能表明该变量是非C++内存
- C++核心准则E.2:通过抛出异常来表明函数无法执行指定的任务
- C++核心准则E.3:异常应该只用于错误处理
- [Go] GO语言实战-gin框架项目实现中英文切换
- [Go] Go语言实战-基于websocket浏览器通知的实现
- 快10年的老前端了,我还分不清 slice 和 splice,这到底是谁的锅
- 第4章 Jenkins系统用户认证配置管理
- 回答公众号留言的2个关于相关性分析的问题
- css 透明度和百分比对应值
- Qt项目DeskGirl开发
- 三日php之路 -- 第二,三天(php知识要点)