一、mycnf配置文件datadir项配置错误或被启动脚本篡改
这个问题不太说讲,主要是mysql自带的启动文件(/etc/initd/mysqld)中会自动检测mysql的数据存储目录,若mysql新装,尚未初始化系统表,那么配置文件中的datadir项写不写无所谓,出现这种情况主要是在更改了mysql的数据存储目录,今天我出现的这个问题就在于此。
我的mysql安装后的配置文件中关于datadir项目的配置如下,而该配置文件存储于/etc/mycnf,今儿不知动了什么东西,查来查去都没找着原因,后来打开该配置文件才发现,其中的datadir项目被篡改成/var/mysql/data了
[mysqld] datadir=/data/mysql socket=/tmp/mysqlsock user=mysql
二、进程里已经存在mysql进程
这种情况我很少遇到,若存在mysql进程但有不提供mysql服务(表现为其他客户端连接不上mysql服务器,例如php连接mysql时提示“连接失败”),这个时候就要看看有没有存在的mysql僵尸进程了,命令如下:
ps -ef|grep mysql
若存在,该命令执行后会列出存在的僵尸进程,kill -9 `pid`掉即可。
三、mysql的数据存储目录权限不足
这种情况发生于mysql第一次安装或升级,配置文件中的datatdir目录的权限要设定好,一般来说运行mysql的用户以及组就是mysqlmysql,那么解决权限不足问题的方法如下:
chown -R mysqlmysql /data/mysql ##该命令仅为示例,其中/data/mysql就是mysql配置文件中datadir的目录 ##若为空,则默认为mysql安装目录下的data文件夹下
四、覆盖安装或升级mysql后,残余数据的影响
这种情况发生于mysql被覆盖安装或升级后,当然mysql无故宕机后也会有这种情况,可能会影响mysql启动的数据文件,一般存在于mysql的数据存储目录(这个目录依据mycnf配置文件中的datadir而异),也就是存在于mysql数据存储目录下的mysql-binindex文件,删除之即可。
首选确定的mysql server已经打开。
你可以通过cmd执行mysql -u 'username' -p 'password' 进到数据库里 use mysql select from user 查看你的用户名密码还有域。如果域不是不符合用户名只有密码也连接不上。 我服了。 -u 后面是你设定的数据库用户 -p 后面是对应这个用户名的密码。
以上就是关于如何解决CentOS下启动MySQL失败的问题全部的内容,包括:如何解决CentOS下启动MySQL失败的问题、mysql出错,连接数据库失败,没有连接数据库的权限。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)