上一篇
凌晨2点,你正睡得香甜,突然手机疯狂震动——服务器报警!网站崩了!💥 一查日志发现是MySQL服务莫名其妙挂了,这时候要是不会手动启动服务,难道要等天亮找运维?别慌,这篇指南就是你的"深夜救星",教你用最硬核的方式在Linux上玩转MySQL服务!
在动手前,确保你的Linux已经安装了MySQL(以Ubuntu/Debian和CentOS为例):
# Ubuntu/Debian系检查安装 sudo apt list --installed | grep mysql-server # CentOS/RHEL系检查 rpm -qa | grep mysql-server
如果没安装,赶紧补课(这里假设你已经装好了~)
适用于大多数现代Linux发行版(Ubuntu 16.04+/CentOS 7+):
# 启动服务 sudo systemctl start mysql # 有些系统可能是mysqld # 设置开机自启 sudo systemctl enable mysql # 检查状态(看到active就稳了) sudo systemctl status mysql
💡 小技巧:用sudo systemctl is-active mysql
快速返回是否运行
如果你在用老版本系统(比如CentOS 6):
# 启动服务 sudo service mysql start # 或 mysqld # 加入开机启动 chkconfig mysql on # 验证状态 service mysql status
当服务管理工具失效时,直接调用二进制文件:
# 找到MySQL安装路径(通常在这里) /usr/sbin/mysqld --console & # &表示后台运行 # 或者指定配置文件启动 mysqld --defaults-file=/etc/mysql/my.cnf &
⚠️ 注意:手动启动后记得用ps -ef | grep mysql
检查进程
# 典型错误提示 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
✅ 解决方案:
sudo chown -R mysql:mysql /var/lib/mysql sudo chmod -R 755 /var/lib/mysql
ERROR 2002 (HY000): Can't connect to local MySQL server
✅ 解决方案:
# 查看3306端口占用 sudo netstat -tulnp | grep 3306 # 如果被占用,要么终止冲突进程,要么修改MySQL端口 sudo vim /etc/mysql/my.cnf # 修改port=新端口号
sudo systemctl stop mysql sudo mysqld_safe --skip-grant-tables & mysql -u root # 现在可以无密码登录了
sudo mysqld --innodb-force-recovery=1 # 数字1-6代表不同修复级别
sudo systemctl status mysql
→ 显示"active (running)" mysql -u root -p
→ 能正常登录 show databases;
→ 能看到系统数据库 记住这三板斧:
systemctl
大法好 service
命令保平安 下次再遇到MySQL罢工,你就是团队里最淡定的那个!😎 凌晨三点也能五分钟搞定,深藏功与名~
本文由 枚婷然 于2025-08-01发表在【云服务器提供商】,文中图片由(枚婷然)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/509285.html
发表评论