这个就是导致通过 service 命令启动报错的原因了,这时候我们需要将源码包中的 mysql.server 拷贝复制到 /etc/init.d/ 下,先使用 find / -name mysql.server 命令来查找下 mysql.server 文件位置,发现是在 /alidata/server/mysql-5.6.21/support-files/mysql.server 中
解决办法
现在我们需要将这个文件复制到 /etc/init.d/ 目录下,改名为 mysqld,并且赋予这个文件可执行权限
最后通过命令 chkconfig —add mysqld 添加开机自动启动服务
使用 service mysqld start 启动成功
MySQL 配置了过大的内存导致无法启动,错误提示:InnoDB: Cannot allocate memory for the buffer pool
问题描述
MySQL 启动时报错,查看错误日志有[ERROR] InnoDB: Cannot allocate memory for the buffer pool(不能从缓存池中分配给innodb引擎需要的内存)
解决办法
需要调整 MySQL 配置文件 my.cnf 中的 "innodb_buffer_pool_size"、"key_buffer_size" 的大小设置,适当的调大内存分配,一般调整为系统内存的一半
先使用 free -m 查看下系统内存大小,查看是 1G 内存
那么 vi /etc/my.cnf,调整 "innodb_buffer_pool_size"、"key_buffer_size" 各为 500M
注意:my.cnf 以实际配置文件路径为准。
重启 MySQL 服务使其生效
MySQL 启动参数过多导致无法启动,错误提示:Too many arguments (first extra is \'start\')
问题描述
主机 Linux 系统安装 MySQL,启动的方式有多种,如果输入 /路径/mysqld start —user=mysql 启动后,出现报错:Too many arguments (first extra is \'start\'),则说明这是因为启动 MySQL 的时候参数过多导致。
解决办法
遇到该问题,通过直接输入 /路径/mysqld —user=mysql,的方式启动,如下图:
MySQL 目录权限问题导致无法启动,错误提示:File \'./mysql-bin.index\' not found (Errcode:13 - Permission denied)
问题描述
MySQL 启动报错,错误日志,如下图
提示的异常为权限异常,我们到 data 目录查看 mysql-bin.index 的权限
正常情况下 data 目录下文件的属主和属组都应该是 mysql,目前为 root
备注:不太熟悉权限的朋友可以找一台正常的 MySQL 主机对比下
解决办法
找到问题之后解决起来就比较好办了,授予正确的权限,然后启动 MySQL
MySQL 未初始化导致无法启动,错误提示:can\'t open the mysql.plugin table
问题描述
MySQL 服务启动时提示:
ERROR! MySQL manager or server PID file could not be found!
Starting MySQL. ERROR! Manager of pid-file quit without updating file.
问题分析
查看错误日志提示:can\'t open the mysql.plugin table ,please run mysql_upgrade to create it
解决办法
使用如下命令指定 datadir 与 basedir 进行初始化启动: