程式啟動管理,使用者許可權,多例項,systemd
-
[email protected]
(RPM platforms),[email protected]
(Debian platforms): Likemysqld.service
ormysql.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傳參