近日因測試安全產(chǎn)品需要,想調(diào)整mariadb的啟動用戶為root, 經(jīng)歷一番波折后終于成功!
注意:以root身份啟動mysql是一項非常危險行為,相當于給了數(shù)據(jù)庫操作用戶(數(shù)據(jù)庫管理員或黑客)一個通過mysql對系統(tǒng)直接操作的通道!
實際上是官方不允許root啟動的, 因此在一般啟動方式下root啟動會返回啟動失敗,并于 /var/log/mariadb/mariadb.log 中提示
Please consult the Knowledge Base to find out how to run mysqld as root!
好吧,轉(zhuǎn)入正題,關于Mariadb 啟動方式:
一般人就會操作: systemctl start mariadb
然而這個指令實際上就是調(diào)用了 mariadb.service (具體目錄用find找),執(zhí)行對 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, 如果排錯時看見此內(nèi)容可忽略
ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n
#執(zhí)行mysqld的執(zhí)行腳本,做了安全檢查,就是這個文件限制root啟動的
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
此處添加參數(shù) --user=root
以下略。。。
#systemctl demon-reload
#systemctl restart mariadb
PS:同樣操作方式支持mysql以其他用戶啟動,
BUT /var/lib/mysql /var/log/mariadb
這兩個目錄的權限或?qū)僦餍枳髡{(diào)整。
總結
以上所述是小編給大家介紹的Linux下的 mariadb 使用 root 用戶啟動方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!