表象问题可能如下:
① Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’;
② ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’;
③ The server quit without updating PID file (/home/mysql/dat[失败]zz.ha.cn.pid);
④Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’;
具体原因你应该去数据文件目录下查找.err
结尾的错误日志文件查看,如iZ8vb3n2dl2w360w65xtf3Z.err
。
案例 一:服务器上面不存在mysql.sock(如果存在请看案例二的解决办法)。
① 修改my.cnf, 指定mysql.sock的路径:
[client] port=3306 socket=/var/lib/mysql/mysql.sock [mysql] default-character-set=utf8 [mysqld] port=3306 socket=/var/lib/mysql/mysql.sock
② 重启提示如下:
cat /home/mysql/data/pc0.zz.ha.cn.err
意思是硬盘没空间了。
③修改my.cnf ,将预先设置的空间分配减小,启动:
奥 ,安装之后生成的临时密码过期了。
④ 密码过期修改
https://blog.csdn.net/J080624/article/details/78286239。
案例二:服务器上存在/tmp/mysql.sock
解决办法:
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
案例三:用户权限问题
mysql路径如下:
--basedir=/usr/local/mysql --datadir=/home/mysql/data
赋予权限如下:
chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /home/mysql/data
案例四:根盘空间满了
使用如下命令查看根分区:
df -h
如果used 100%,则将根分区中的东西删除掉一些或者移动到别的分区。
案例五:swap分区为0
错误日志文件可能如下:
这时使用free
命令查看,就会发现swap 为0。就需要添加swap空间。
Swap 是 Linux 下的交换分区,类似 Windows 的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入 Swap,解决物理内存不足的情况。但是如果开始使用 SWAP 的时候系统通常都会变得十分缓慢,因为硬盘 IO 占用的十分厉害,除非是 SSD 的情况下,速度才有可能稍微快一点。
① 创建一个名为 swapfile 的 1G 空文件(写 0 占用磁盘)
dd if=/dev/zero of=/swapfile bs=1024 count=1024000
② 制作为 Swap 文件
mkswap /swapfile
执行以上命令,将生成的 swapfile 制作为 SWAP 文件,若没有制作 SWAP 文件,执行下一步可能会出现:“swapon: vpppscom: read swap header failed: Invalid argument” 错误。
③ 让 Swap 文件生效
swapon /swapfile
执行以上命令,使 “swapfile” 这个 Swap 文件生效,并叠加进当前 sawp 空间中。
④ 查看当前 SWAP
swapon -s