欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux下的 mariadb 使用 root 用户启动方式

程序员文章站 2022-11-06 23:41:43
近日因测试安全产品需要,想调整mariadb的启动用户为root, 经历一番波折后终于成功! 注意:以root身份启动mysql是一项非常危险行为,相当于给了数据库操作用户(数据库管理员或黑客)一个通过mysql对系统直接操作的通道! 实际上是官方不允许root启动的, 因此在一般启动方式下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  这两个目录的权限或属主需作调整。