1. 程式人生 > 其它 >程式啟動管理,使用者許可權,多例項,systemd

程式啟動管理,使用者許可權,多例項,systemd

  • [email protected](RPM platforms),[email protected](Debian platforms): Likemysqld.serviceormysql.service, but used for managing multiple MySQL instances.

  • 用做多例項,並且可搭配%i 指示符,比如以下配置,多例項多使用者:
  • [Unit]
    Description=BitTorrent Sync service
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/btsync --nodaemon --config /home/%i/.sync/btsync.conf
    Restart=on-abort
    User=%i
    Group=users
    
    [Install]
    WantedBy=multi-user.target

指示符詳解:https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Specifiers

二進位制安裝MySQL的命令序列:

$> groupadd mysql

$> useradd -r -g mysql -s /bin/false mysql

$> cd /usr/local

$> tar xvf /path/to/mysql-VERSION-OS.tar.xz

$> ln -s full-path-to-mysql-VERSION-OS mysql

$> cd mysql

$> mkdir mysql-files

$> chown mysql:mysql mysql-files

$> chmod 750 mysql-files

$> bin/mysqld --initialize --user=mysql

$> bin/mysql_ssl_rsa_setup

$> bin/mysqld_safe --user=mysql & # Next command is optional

$> cp support-files/mysql.server /etc/init.d/mysql.server

可以看到,以某個使用者啟動程式的本質是:

chown mysql:mysql mysql-files

$>chmod 750 mysql-files

$>bin/mysqld--initialize--user=mysql

$>bin/mysql_ssl_rsa_setup

$>bin/mysqld_safe--user=mysql &

創建出一個使用者,並使這個使用者對程式有許可權,然後以這個使用者啟動程式。

Linux下檢視所有使用者:

cat /etc/passwd

上面mysqld_safe 是一個shell指令碼,原始碼在:https://www.cnblogs.com/mmgithub123/p/15711200.html ,而傳參--user=mysql 也是給二進位制mysqld傳參