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 这两个目录的权限或属主需作调整。
上一篇: 三星Galaxy S10 Lite通过FCC认证:骁龙855+4500mAh
下一篇: ubuntu下需要补充安装 manpages手册; 安装linux 社区最新的linux manpages 文档;
推荐阅读
-
Linux 下普通用户切换root超级管理员用户的几种方法
-
java在linux系统下开机启动无法使用sudo命令的原因及解决办法
-
java在linux系统下开机启动无法使用sudo命令的原因及解决办法
-
linux下安装oracle后使用命令行启动的方法 linux启动oracle
-
Linux下Docker CE使用从包中安装的方式详解
-
Linux系统下禁止非WHEEL用户使用SU命命的两种实现方法
-
虚拟机Linux系统忘记密码的情况下,修改root或其他用户密码
-
Linux 解决Deepin无法在root用户启动Google Chrome浏览器的问题
-
如何在Linux下修改Mysql的用户(root)密码
-
LINUX下EFIBOOTMGR的使用,删除UEFI主板多余启动项和添加启动项