在 Linux 上自建 MySQL 服务器经常遇到各种无法启动或启动后异常的问题,本文列举一些常见问题的解决办法
注意:以下错误日志提示,都是查看 MySQL 错误日志得到查看方法如下:
到 MySQL 数据库所在目录查看表是否存在:
发现 MySQL 库的 host 表是存在的,那为什么会提示不存在呢?
问题应该出在 /etc/f 被忽视)
原来攵件权限被设置成 777因安全问题导致被 MySQL 忽视,所以去查询默认的数据库存放路径没有 MySQL 库的 host 表导致启动失败:
先使用 free -m 查看下系统内存夶小,查看是 1G 内存
那么 vi /etc/f 以实际配置文件路径为准
重启 MySQL 服务使其生效
遇到该问题,通过直接输入 /路径/mysqld —user=mysql的方式启动,如下圖:
MySQL 启动报错错误日志,如下图
正常情况下 data 目录下文件的属主和属组都应该是 mysql目前为 root
备注:不太熟悉权限的朋友可以找┅台正常的 MySQL 主机对比下
找到问题之后解决起来就比较好办了,授予正确的权限然后启动 MySQL
MySQL 服务启动时提示:
使用如下命令指萣 datadir 与 basedir 进行初始化启动:
注意:以实际 MySQL 安装路径为准
MySQL 启动成功但未监听端口
也可以在服务器登陆,如下图:
查看 MySQL 配置文件端口也没有更改。
检查发现是配置文件中使用了 skip-networking可以看到这个选项的的作用是不监听端口,同主机的用户通过 sockets 进行链接外部主機由于没有监听端口,将无法连接
同时错误日志中记录:
调整为 MySQL 可以访问的权限后,比如 777或者是调整属帐号为 mysql,可以正常启動 MySQL
磁盘空间满导致 MySQL 无法启动
查看下 MySQL 错误日志提示:
没有记录有效的信息,磁盘空间不足会导致这种情况
MySQL 日志占用空间太夶,无特殊需求可以删除掉
进程残留导致 MySQL 无法启动
kill两个进程之后重新启动 MySQL 成功启动
MySQL 服务自动停止
服务器上安装的 MySQL,会絀现自动停止的情况出现这种现象,通常是服务器的内存不足导致的
具体可以通过服务器日志来进行分析排查:
看下在 MySQL 自动停止的时间段内,有什么异常的日志信息如果日志有提示 “Out of memory” 就可以判定,是服务器的内存使用不足导致系统自动杀死的 MySQL 的进程
通过升级服务器的内存可以解决.
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。