本文介紹在Linux系統中配置mysql自動啟動的幾種常用方法。選擇哪種方法取決于您的Linux發行版和MySQL安裝路徑。
方法一:使用systemd (推薦)
systemd是大多數現代Linux發行版的初始化系統。這是推薦的方法,因為它更規范、更可靠。
-
創建systemd服務文件: 使用root權限執行以下命令創建一個新的systemd服務文件:
sudo nano /etc/systemd/system/mysql.service
-
編輯服務文件: 將以下內容粘貼到文件中,并根據您的MySQL安裝路徑調整/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
-
保存并設置權限: 保存文件并設置正確的權限:
sudo chmod 644 /etc/systemd/system/mysql.service
-
重新加載systemd配置,啟動并啟用服務:
sudo systemctl daemon-reload sudo systemctl start mysql sudo systemctl enable mysql
方法二:使用SysVinit (較舊系統)
一些較舊的Linux發行版仍然使用SysVinit。
-
創建SysVinit腳本: 使用root權限創建腳本文件:
sudo nano /etc/init.d/mysql
-
編輯腳本: 將以下內容粘貼到文件中,并根據您的MySQL安裝路徑調整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
-
設置權限,啟動并啟用服務:
sudo chmod +x /etc/init.d/mysql sudo service mysql start sudo chkconfig mysql on
方法三:使用rc.local (不推薦)
rc.local方法已經過時,不推薦使用。 現代系統更傾向于使用systemd。
選擇適合您系統的方法后,重啟系統以驗證MySQL是否自動啟動。 記得替換腳本中的路徑為您的實際MySQL安裝路徑。 如果遇到問題,請檢查MySQL的錯誤日志文件。