linux中启动mysql
1. 使用systemctl启动MySQL(推荐)
如果系统使用Systemd,并且MySQL已安装为系统服务,可以使用以下命令:
# 启动MySQL sudo systemctl start mysql # 或者,有些系统上服务名可能是mysqld sudo systemctl start mysqld # 设置开机自启 sudo systemctl enable mysql # 查看状态 sudo systemctl status mysql # 停止MySQL sudo systemctl stop mysql # 重启MySQL sudo systemctl restart mysql
2. 使用service命令(SysVinit系统)对于使用SysVinit的系统,可以使用service命令:
# 启动MySQL sudo service mysql start # 或者,有些系统上服务名可能是mysqld sudo service mysqld start # 查看状态 sudo service mysql status # 停止MySQL sudo service mysql stop # 重启MySQL sudo service mysql restart
3. 使用mysqld_safe启动
mysqld_safe是一个脚本,用于启动MySQL服务器,并在发生错误时自动重启。通常,它位于MySQL安装目录的bin目录下。
# 进入MySQL安装目录,假设在/usr/local/mysql cd /usr/local/mysql # 使用mysqld_safe启动,并指定配置文件(如果需要) sudo bin/mysqld_safe --defaults-file=/etc/my.cnf & # 或者,如果已经将MySQL的bin目录添加到PATH,可以直接运行 sudo mysqld_safe &
注意:使用mysqld_safe启动时,可能需要指定--user选项来指定运行MySQL的用户,通常为mysql。
4. 手动启动MySQL服务器
你也可以直接调用mysqld来启动,但这通常不推荐,因为它不会提供自动重启等保护。
# 指定配置文件启动 sudo /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf & # 或者,如果知道MySQL的数据目录和socket文件等位置,可以指定选项 sudo /usr/sbin/mysqld --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --user=mysql &
5. 使用MySQL安装包中的启动脚本
如果你使用二进制包或源码编译安装,可能提供了启动脚本。例如,在源码编译安装后,可以使用support-files/mysql.server脚本。
# 假设在MySQL安装目录下 sudo support-files/mysql.server start
6. 检查MySQL是否启动
无论使用哪种方式启动,都可以通过以下方法检查MySQL是否正在运行:
# 检查进程 ps aux | grep mysqld # 检查端口(默认3306) netstat -tlnp | grep 3306 ss -tlnp | grep 3306 # 尝试连接 mysql -u root -p -e "SHOW DATABASES;"
1. systemctl 启动(Systemd 系统,推荐)
# 1.1 启动 MySQL sudo systemctl start mysql # 或(某些发行版使用 mysqld) sudo systemctl start mysqld # 1.2 停止 MySQL sudo systemctl stop mysql sudo systemctl stop mysqld # 1.3 重启 MySQL sudo systemctl restart mysql sudo systemctl restart mysqld # 1.4 查看状态 sudo systemctl status mysql sudo systemctl status mysqld # 1.5 设置开机自启 sudo systemctl enable mysql sudo systemctl enable mysqld # 1.6 禁用开机自启 sudo systemctl disable mysql sudo systemctl disable mysqld # 1.7 重新加载配置文件 sudo systemctl reload mysql sudo systemctl reload mysqld # 1.8 查看日志 sudo journalctl -u mysql sudo journalctl -u mysqld sudo journalctl -u mysql -f # 实时监控日志
2. service 启动(SysVinit 系统)
# 2.1 启动 MySQL sudo service mysql start sudo service mysqld start # 2.2 停止 MySQL sudo service mysql stop sudo service mysqld stop # 2.3 重启 MySQL sudo service mysql restart sudo service mysqld restart # 2.4 查看状态 sudo service mysql status sudo service mysqld status # 2.5 设置开机自启 sudo chkconfig mysql on # RHEL/CentOS 6 sudo update-rc.d mysql defaults # Debian/Ubuntu # 2.6 禁用开机自启 sudo chkconfig mysql off sudo update-rc.d mysql remove
3. 直接启动 MySQL 守护进程
# 3.1 使用 mysqld_safe(推荐) sudo mysqld_safe --defaults-file=/etc/my.cnf & # 3.2 直接启动 mysqld sudo /usr/sbin/mysqld --defaults-file=/etc/my.cnf --user=mysql & # 3.3 使用 MySQL 启动脚本 sudo /etc/init.d/mysql start sudo /etc/init.d/mysqld start # 3.4 使用 mysql.server(MacOS/部分Linux) sudo /usr/local/mysql/support-files/mysql.server start
检查系统中安装的 MySQL
# 查看 MySQL 版本 mysql --version mysql -V # 查看 MySQL 安装位置 which mysql whereis mysql # 查看 MySQL 服务状态 systemctl list-units | grep -i mysql systemctl list-units | grep -i mariadb # 查看 MySQL 进程 ps aux | grep mysql ps aux | grep mysqld # 查看 MySQL 端口 sudo netstat -tlnp | grep mysql sudo ss -tlnp | grep mysql sudo lsof -i :3306
配置文件位置
# 常见配置文件位置 /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/my.cnf ~/.my.cnf # MariaDB 配置文件 /etc/my.cnf /etc/my.cnf.d/ /etc/mysql/my.cnf /etc/mysql/mariadb.conf.d/
