本文介紹在Linux系統(tǒng)中配置mysql自動(dòng)啟動(dòng)的幾種常用方法。選擇哪種方法取決于您的Linux發(fā)行版和MySQL安裝路徑。
方法一:使用systemd (推薦)
systemd是大多數(shù)現(xiàn)代Linux發(fā)行版的初始化系統(tǒng)。這是推薦的方法,因?yàn)樗?guī)范、更可靠。
-
創(chuàng)建systemd服務(wù)文件: 使用root權(quán)限執(zhí)行以下命令創(chuàng)建一個(gè)新的systemd服務(wù)文件:
sudo nano /etc/systemd/system/mysql.service
-
編輯服務(wù)文件: 將以下內(nèi)容粘貼到文件中,并根據(jù)您的MySQL安裝路徑調(diào)整/usr/sbin/mysqld 和 /etc/mysql/my.cnf路徑:
[Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf Restart=on-failure [Install] WantedBy=multi-user.target
-
保存并設(shè)置權(quán)限: 保存文件并設(shè)置正確的權(quán)限:
sudo chmod 644 /etc/systemd/system/mysql.service
-
重新加載systemd配置,啟動(dòng)并啟用服務(wù):
sudo systemctl daemon-reload sudo systemctl start mysql sudo systemctl enable mysql
方法二:使用SysVinit (較舊系統(tǒng))
一些較舊的Linux發(fā)行版仍然使用SysVinit。
-
創(chuàng)建SysVinit腳本: 使用root權(quán)限創(chuàng)建腳本文件:
sudo nano /etc/init.d/mysql
-
編輯腳本: 將以下內(nèi)容粘貼到文件中,并根據(jù)您的MySQL安裝路徑調(diào)整MYSQL_HOME、PIDFILE和LOGFILE路徑:
#!/bin/sh # description: Start and stop MySQL database server # processname: mysqld MYSQL_HOME="/usr/local/mysql" # 替換為您的MySQL安裝路徑 PIDFILE="/var/run/mysqld/mysqld.pid" LOGFILE="/var/log/mysql/error.log" case "$1" in start) echo "Starting MySQL..." /usr/bin/mysqld --defaults-file=/etc/my.cnf > /dev/null 2>&1 & echo $! > $PIDFILE ;; stop) echo "Stopping MySQL..." kill -f $(cat $PIDFILE) rm -f $PIDFILE ;; *) echo "Usage: /etc/init.d/mysql {start|stop}" exit 1 ;; esac exit 0
-
設(shè)置權(quán)限,啟動(dòng)并啟用服務(wù):
sudo chmod +x /etc/init.d/mysql sudo service mysql start sudo chkconfig mysql on
方法三:使用rc.local (不推薦)
rc.local方法已經(jīng)過(guò)時(shí),不推薦使用。 現(xiàn)代系統(tǒng)更傾向于使用systemd。
選擇適合您系統(tǒng)的方法后,重啟系統(tǒng)以驗(yàn)證MySQL是否自動(dòng)啟動(dòng)。 記得替換腳本中的路徑為您的實(shí)際MySQL安裝路徑。 如果遇到問(wèn)題,請(qǐng)檢查MySQL的錯(cuò)誤日志文件。