Mysql重装后无法正常启动

背景

​ 最近在做服务器上的DB迁移,服务器上的Mysql重新安装后无法正常启动服务,查看版本信息正常。

​ 当使用mysql -uroot -p命令登录时,报

1
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

​ 怀疑服务没有启动,启动服务时service mysqld start,报

1
2
3
MySQL Daemon failed to start.

Starting mysqld: [FAILED]

处理

​ 百度了一下,有的说没有权限,需要授权,有的说需要在/etc/my.cnf中加配置。试过都不行。最后尝试将mysql所有文件删掉,杀掉所有进程重启,终于成功。

1
2
3
4
5
6
7
//删除文件、自启服务、杀掉进程
rm -rf /var/lib/mysql/
rm /var/lock/subsys/mysqld
killall mysqld

//启动服务
service mysqld start

one more thing

​ 除了以上情况出现“ERROR 2002 (HY000) Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)”报错,还有另外一种情况,已经安装好mysql服务,然后将mysql移动到另外的目录,启动mysql时找不到mysql.sock,是因为my.cnf中配置的路径还是原来的目录,将my.cnf中的配置修改就可以了

1
2
3
4
5
6
7
8
9
10
#编辑my.cnf,事先可以使用cp命令备份
vim /etc/my.cnf

#修改新的目录,我的是/data1/mysql
[mysqld]
datadir=/data1/mysql
socket=/data1/mysql/mysql.sock

[mysql]
socket=/data1/mysql/mysql.sock