加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

在 Linux 上 以root身份启动mariadb的方式被采用

发布时间:2023-10-16 11:20:17 所属栏目:Linux 来源:
导读:近日因测试安全产品需要,想调整mariadb的启动用户为root, 经历一番波折后终于成功!注意:以root身份启动mysql是一项非常危险行为,相当于给了数据库操作用户(数据库管理员或黑客)一个通过mysql对系统直接操作的通

近日因测试安全产品需要,想调整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  这两个目录的权限或属主需作调整。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章