qq524061227 发表于 2018-9-30 07:14:59

解决Linux MySQL报错ERROR 2002

  在Linux安装MySQL有时候会出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 这样的错误,具体解决办法如下:
  # rm -rf /var/lib/mysql/*
  # rm /var/lock/subsys/mysqld
  rm: remove regular empty file `/var/lock/subsys/mysqld'? y
  # killall mysqld
  #service mysqld start
  # /etc/rc.d/init.d/mysqld status
  mysqld (pid 5457) is running...
  ---------------------------------2---------------------------------
  # mysql -u root
  ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
  # vi /etc/my.cnf
  ##########添加如下内容:
  
  socket=/var/lib/mysql/mysql.sock
  ##########保存退出后,
  ##########重启mysql
  # service mysqld restart
  Shutting down MySQL.                                       
  Starting MySQL.                                          
  # mysql -u root -p
  Enter password:
  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
  # mysql -u root
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.1.45 MySQL Community Server (GPL)
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'>  Query OK, 0 rows affected (0.00 sec)

  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'>  exit
  Bye
  # mysql -u root -p
  ---------------------------------3---------------------------------
  当用户在执行mysql时报错
  "ERROR 2002 (HY000): Cant connect to local MySQL server through socket /tmp/mysql.sock (2)"
  原因是由于mysql 的mysql.sock 默认是在/var/lib/mysql/mysql.sock下,但linux系统总是去/tmp/mysql.sock查找,如果mysql.sock不存在,系统就会报错。
  解决办法:
  1.直接指定mysql通道
  # find / -name mysql.sock
  /var/lib/mysql/mysql.sock
  # mysql --socket=/var/lib/mysql/mysql.sock
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Type help; or \h for help. Type \c to clear the buffer.
  mysql>
  2. 为mysql.sock创建软连接(类似快捷方式)
  # ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
  # mysql
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Type help; or \h for help. Type \c to clear the buffer.
  mysql>

页: [1]
查看完整版本: 解决Linux MySQL报错ERROR 2002