Ubuntu 16.04 mysqld.sock找不到导致无法连接mysql


问题: 当运行django项目时,报错无法连接到mysql:

pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1'([Errno 111] Conn

解决步骤: 1.尝试登录mysql, 执行mysql -uroot -p, 继续报错:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
  1. 进入/var/run目录,发现mysqld目录不存在
  2. 百度搜索出现了各种答案,最终用[此篇博客]解决了部分问题(http://blog.csdn.net/qingyuanluofeng/article/details/51508880) 首先尝试不卸载mysql的情况下解决方法,但并没有用:
    cd /etc/init.d
    sudo service mysql stop
    sudo service mysql start

重新安装mysql: 先卸载

sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor

再安装:

sudo apt-get install mysql-server mysql-common

安装完成后再进入cd /var/run/mysqld/目录下,mysqld.sock存在了 屏幕快照 2018-01-20 下午9.46.14.png

现在可正常登录mysql:

mysql -uroot -p

创建一个数据库:

CREATE DATABASE blog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

附件: