MySQL无法启动问题总结
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-02 21:23:19 浏览: 评论:0
一、确认MYSQL已经配置且正确
重新配置:如果是重新安装的MYSQL,请确认安装后的MYSQL经过第一次配置,否则会缺少my.ini文件,配置方法,可以在安装到最后一步时选择,现在开始配置MYSQL,或在程序组中运行MYSQL配置向导,配置完成后,要确保my.ini文件中[mysqld]字段下至少有basedir安装目录路径和datadir数据库路径.
配置之前,如果原来已经有过MySQL配置,可以先在MYSQL向导中进行执行一次REMOVE INSTANCE,然后再重新配置.
覆盖数据表:默认的MYSQL数据库会安装到My Document下,所以如果您的数据库目录在其它路径下,可以先把MYSQL停止掉,然后把数据库剪切到其它路径,然后拷贝相关数据表进入同一目录即可.
如果MYSQL数据表使用不同的账户,还需要在MYSQL创建账户,或直接使用原来的MYSQL数据表覆盖,需确认之前的MSYQL数据表是未损坏的.
解决无法启动:
遇到无法启动MYSQL时常见解决方法:
A、先使用命令C:Program filesmysqlbinmysqladmin-u root -p shutdown来关闭MYSQL
B、再在cmd命令行下,执行net start mysql启动mysql.
二、1067错误常见解决方法
故障现象:如果在停止MYSQL(net stop mysql)或启动MYSQL时,出现1067错误,错误信息“MySql 服务正在停止...系统出错(A system error has occurred.)...系统发生 1067 错误(System error 1067 has occurred.),进程意外终止(The process terminated unexpectedly.)”等.
常见解决方法
1.如果以前一直运行OK的,请先按照上面的“无法启动”解决方法执行一次看看。
2.如果进行过Remove Instance操作,再次重建时后,一定要检查my.ini文件中的datadir是否已被还原了,如果该地址下数据库不存在,也将报告1067错误,只需要修改成真实的数据库目录地址,然后手动启动即可。
3.检查MYSQL目录权限
4.检查my.ini文件中[mysqld]字段下是否有basedir安装目录路径和datadir数据库路径,my.ini可能需要出现在两个地方,MYSQL的安装目录和Windows目录(假设是windows环境)下,都要检查一下。
5.有时候删除%windir%/my.ini文件然后再重新配置也可以解决,再次配置后检查一下Windir目录下是否有my.ini文件,有时把安装目录下最新的my.ini拷贝过去覆盖一下也能解决问题。
6.如果是Linux环境,试一下把mysql.server拷贝至/etc/rc.d/init.d/下,然后再运行chkconfig mysql.server,之后就可以在命令行中设置PATH、使用命令执行mysql启动.
三、非法关机造成的MYSQL无法启动问题
如果是因为非法关机等原因导致MYSQL无法启动或启动有问题的,最好使用重新安装的或确认是OK的MYSQL数据表及ibdata1、mysql.pid、ib_logfile0等文件进行覆盖,天缘试过遇到过多次这种情况,就是原来的MYSQL表有问题了,总是无法启动,但是更换成新表就可以。
日志占满空间导致的MySQL无法启动问题:
tail /usr/local/mysql/var/slyar.err
看了一下Mysql的错误日志,意外状况出现.
Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)
神奇的情况,居然是因为磁盘满了无法写入日志导致Mysql起不来,代码如下:
- root@slyar# df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/sda1 3016688 2877540 0 100% /
果然啊,/var目录爆了,代码如下:
- root@slyar:/usr/local/mysql/var# ll --block-size=MB
- total 504MB
- -rw-rw---- 1 mysql mysql 26MB Jul 23 2012 mysql-bin.000011
- -rw-rw---- 1 mysql mysql 5MB Jul 26 2012 mysql-bin.000012
- -rw-rw---- 1 mysql mysql 27MB Aug 8 2012 mysql-bin.000013
- -rw-rw---- 1 mysql mysql 43MB Aug 23 2012 mysql-bin.000014
- -rw-rw---- 1 mysql mysql 270MB Feb 9 17:05 mysql-bin.000020
- -rw-rw---- 1 mysql mysql 115MB Apr 19 12:27 mysql-bin.000021
- -rw-rw---- 1 mysql mysql 1MB Feb 10 12:07 mysql-bin.index
- -rw-rw---- 1 mysql mysql 0MB Apr 19 12:34 mysql-bin.~rec~
基本上就是被这些玩意占满了,查了一下Mysql手册发现这些东西也没啥用,直接删除(此操作最好在Mysql服务停止时进行,因为当前日志使用的话无法删除,而且有可能导致一些其它问题,不过用mysql>reset master命令可以直接清空日志,代码如下:
root@slyar:/usr/local/mysql/var# rm -f mysql-bin.*
为了防止再次出现此类状况,直接关闭Mysql的log-bin日志功能:
vim /etc/my.cnf
找到如下代码:
log-bin=mysql-bin
binlog_format=mixed
在前面加上#注释掉,:wq保存退出,最后如下代码:
/etc/init.d/mysql restart
启动Mysql服务,一切正常.
ERROR 2002 (HY000):启动mysql 报错:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.另外看看是不是权限问题.
2、确定你的mysql.sock是不是在那个位置.
mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock
3、试试:service mysqld start
4、如果是权限问题,则先改变权限 #chown -R mysql:mysql /var/lib/mysql[root@localhost ~]# /etc/init.d/mysqld start
启动 MySQL: [ 确定 ]
[root@localhost ~]# mysql -uroot -p ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
原因是,/var/lib/mysql 的访问权限问题,代码如下:
shell> chown -R mysql:mysql /var/lib/mysql
接着启动服务器,代码如下:shell> /etc/init.d/mysql start
服务器正常启动后察看 /var/lib/mysql 自动生成mysql.sock文件,但是我的问题仍然没有得到解决.
问题终于解决,方法,修改/etc/my.conf,代码如下:
- [mysqld]
- datadir=/usr/local/mysql/data
- socket=/var/lib/mysql/mysql.sock
- [mysql.server]
- user=mysql
- basedir=/usr/local/mysql
- If there is not currently a section called [client], add one at the bottom of the file and copy the socket= line under the [mysqld] section such as:
- --phpfensi.com
- [client]
- socket=/var/lib/mysql/mysql.sock
发现依旧如此,运行/etc/init.d/mysql start报错,Starting MySQLCouldn't find MySQL manager or server,是mysqld服务没启,运行/usr/local/mysql/bin/mysqld_safe &
Tags: MySQL无法启动 MySQL启动问题
相关文章
- ·重装mysql无法启动服务的问题(2014-10-02)
- ·解决由于日志占满空间导致的MySQL无法启动问题(2014-10-04)
- ·linux下mysql服务无法启动(2014-10-04)
- ·MySQL无法启动、无法停止各种解决方法总结(2014-10-08)
- ·MySQL无法启动:Table mysql.host doesn t exist(2014-10-09)
- ·mysql无法启动问题分析与解决办法(2014-10-14)
- ·mysql无法启动服务,mysql卡死解决办法(2014-10-17)
- ·mysql InnoDB数据无法启动解决办法(2014-10-17)
- ·mysql删除mysql-bin.000xxx文件导致mysql无法启动解决方法(2014-11-24)
- ·解决mysqld_safe无法启动问题的方法(2015-04-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)