温馨提示×

linux mysql自启动的方法是什么

小亿
81
2024-12-31 07:35:18
栏目: 云计算

在Linux系统中,有多种方法可以实现MySQL的自启动

  1. 使用systemd服务:

    a. 创建一个新的systemd服务文件。以root用户身份打开终端,输入以下命令:

    sudo nano /etc/systemd/system/mysql.service
    

    b. 将以下内容粘贴到文件中,然后保存并退出:

    [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
    

    c. 设置MySQL服务文件的权限:

    sudo chmod 644 /etc/systemd/system/mysql.service
    

    d. 重新加载systemd配置:

    sudo systemctl daemon-reload
    

    e. 启动MySQL服务:

    sudo systemctl start mysql
    

    f. 设置MySQL服务开机自启动:

    sudo systemctl enable mysql
    
  2. 使用SysVinit:

    a. 创建一个新的SysVinit脚本文件。以root用户身份打开终端,输入以下命令:

    sudo nano /etc/init.d/mysql
    

    b. 将以下内容粘贴到文件中,然后保存并退出。注意:请根据实际情况修改MYSQL_HOME变量的值。

    #!/bin/sh
    # description: Start and stop MySQL database server
    # processname: mysqld
    
    MYSQL_HOME="/usr/local/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
    

    c. 设置MySQL脚本文件的权限:

    sudo chmod +x /etc/init.d/mysql
    

    d. 启动MySQL服务:

    sudo service mysql start
    

    e. 设置MySQL服务开机自启动:

    sudo chkconfig mysql on
    
  3. 使用rc.local文件:

    a. 以root用户身份打开终端,输入以下命令:

    sudo nano /etc/rc.local
    

    b. 在文件中添加以下内容(请根据实际情况修改MYSQL_HOME变量的值):

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    MYSQL_HOME="/usr/local/mysql"
    /usr/bin/mysqld --defaults-file=/etc/my.cnf > /dev/null 2>&1 &
    echo $! > /var/run/mysqld/mysqld.pid
    

    c. 设置rc.local文件的权限:

    sudo chmod +x /etc/rc.local
    

    d. 在/etc/rc.d/rc.local文件中添加以下行(如果不存在,请创建该文件):

    /etc/rc.local
    

    e. 重启系统以使更改生效。

以上就是在Linux系统中实现MySQL自启动的三种方法。请根据您的Linux发行版和MySQL安装方式选择合适的方法。

0