MySQL 服务无法启动-问题处理
2016-04-15 13:16
609 查看
症状:前一天在MySQL中删除了几个不用的数据库后登陆MySQL出现以下错误:
mysql -u root -p
passwd
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
查看 /var/run/mysqld/mysqld.sock 根本这个文件不存在了;
有几个原因可能导致mysqld.sock不存在:
1.没有安装mysql-server
2.如果安装了mysql-server而且它已经运行了
则需要检查配置文件具体可以看stack overflow的解答:
http://stackoverflow.com/questions/11657829/error-2002-hy000-cant-connect-to-local-mysql-server-through-socket-var-run
此时我发现虽然mysql-server已经安装好了,但是ps -aux | grep 'mysql' 发现mysql服务并没开启;
然而 :
sudo service mysql start 报错:
start: Job failed to start
并且 /var/log/mysql/error.log是空的,无法根据日志排错;
在stack overflow 上看到类似重新安全mysql-server但是还保存原来数据库数据的方法:
http://stackoverflow.com/questions/22909060/mysql-job-failed-to-start
大概步骤:
1.备份原来数据库数据文件以防没有安装成功:
sudo mkdir /home/<your username>/mysql/ cd /var/lib/mysql/ sudo cp * /home/<your username>/mysql/ -R
2.为重新安装而清理mysql
sudo apt-get purge mysql-server-5.1 mysql-common
3.删除/etc/mysql文件夹以及其中内容
sudo rm /etc/mysql/ -R
4.检查原来的数据库文件仍然在/var/lib/mysql/中如果不存在将第一步保存的文件复制到这个文件中并更改它的拥有者和群组为root;
sudo mkdir /var/lib/mysql/ sudo chown root:root /var/lib/mysql/ -R cd ~/mysql/ sudo cp * /var/lib/mysql/ -R
5.安装新的mysql server
sudo apt-get install mysql-server
6.重新连接查看原来数据是否存在
mysql -u root -p passwd mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sql | +--------------------+ 4 rows in set (0.00 sec)
此时我的mysql又回来原来的状态了;
相关文章推荐
- scala+play2.2.2+slick2.0.2 + mysql5.0整合之一---基础环境搭建篇
- mysql忽略主键冲突、避免重复插入的几种方式
- MySQL索引原理及慢查询优化
- 安装mysql 5.5.8 Error Nr.1364 authentication_string
- MySQL中优化sql语句查询常用的30种方法
- MySQL OnlineDDL
- mysql-5.6主从同步配置示例
- Windows7-32位系统下R语言链接mySQL数据库步骤
- MySql5.7.11编译安装及修改root密码的方法小结
- 王高利:MySQL备份脚本_mysqldump
- MYSQL数据库中cmd命令操作详解
- MySQL查看并修改当前数据库编码
- 复杂sql (mysql)
- mysql查询结果输出到文件
- MySQL免安装版 安装,卸载,找不到指定文件
- MySQL免安装版下载与配置
- MySQL查询order by相减select相减的Sql语句
- win7安装mysql后,重装系统后,mysql启动
- mysql的卸载与安装
- Mysql 免安装版配置