今天突然停止在Ubuntu服务器上运行MySQL。 当我尝试login时,出现此错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
检查错误:
mysqld --verbose 160408 3:21:24 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 160408 3:21:24 [ERROR] Fatal error: Can't change to run as user 'mysql' ; Please check that the user exists! 160408 3:21:24 [ERROR] Aborting 160408 3:21:24 [Note] mysqld: Shutdown complete
我试过sudo service mysql start :
start: Job failed to start
我也试过:
ps ax | grep mysql 4127 pts/0 S+ 0:00 grep --color=auto mysql
和
sudo chown mysql:root -R /var/lib/mysql chown: invalid user: `mysql:root'
如果我尝试列出系统中的所有用户:
compgen -u root ram sshd nobody deployer
我也检查,如果我没有用完服务器上的空间:
Filesystem Size Used Avail Use% Mounted on /dev/vda1 79G 27G 49G 35% / udev 3.9G 4.0K 3.9G 1% /dev tmpfs 1.6G 204K 1.6G 1% /run none 5.0M 0 5.0M 0% /run/lock none 3.9G 0 3.9G 0% /run/shm none 100M 0 100M 0% /run/user
但是有足够的空间。
如果我尝试检查套接字: cd /var/run/mysqld/ ,则:
-bash: cd: /var/run/mysqld/: No such file or directory
如何解决这个问题? 或者至less – 如何保存数据库中的数据?
非常感谢你!
我会重新安装MySQL包。 重新安装软件包不会删除您的数据(来源) ,所以我会做以下几点:
cp -ar /var/lib/mysql /safeplace备份mysql数据文件夹 apt-get remove mysql-server apt-get install mysql-server 你也可以使用adduser命令或编辑文件/ etc / passwd,/ etc / shadow和/ etc / group来添加“mysql”用户。
您可以从传统的“mysql”文件获得用户和组的以前的id
可能这可能会帮助别人。
adduser mysql chown mysql:mysql -R /var/lib/mysql sudo chmod -R 755 /var/lib/mysql/ sudo service mysql start