首页 > 数据库 > MySQL > 正文

mysql Can’t connect to local MySQL server through socket ‘/var/lib/mysql/

2024-07-24 12:39:03
字体:
来源:转载
供稿:网友

今天在linux中安装了mysql但在连接时出现Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’提示,下面我总结了一些解决办法和用百度搜索的一些参数文档。

linux 环境下,所有数据库以及用户信息的存放位置可以在(vim /etc/my.cnf)查看[datadir=/usr/local/mysql_data ].

读取不到数据库信息(原因:移动datadir过程中权限也改变了[chown mysql:mysql -R datadir]) ,datadir是你的存放路径,代码如下:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ 

解决方法[查看是不是存在该文件,修改相应的路径 vim /etc/my.cnf,查看是不是权限不对.ls -l ].代码如下:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ 

解决方法[修改相应的路径 vim /etc/my.cnf],添加下面这段代码:

  1. port = 3306 
  2. socket = /var/lib/mysql_data/mysql.sock 

mysql 数据表使用中,错误提示:”martin” is marked as crashed and should be repaired

解决方法:

进入mysql的data目录,在命令行执行:myisamchk -c -r martin.MYI,mysql允许远程连接方法:在添加mysql用户的时候host选现修改成”%”就可以了,以后遇到的mysql问题会一并添加上来.

网络上其它方法:修改/etc/my.conf,代码如下:

  1. [mysqld]  
  2. datadir=/usr/local/mysql/data  
  3. socket=/var/lib/mysql/mysql.sock 
  4.  
  5. [mysql.server]  
  6. user=mysql  
  7. basedir=/usr/local/mysql 
  8.  
  9. If there is not currently a section called [client], add one at the bottom of the file and copy the socket= line under the [mysqld] section such as
  10. --Vevb.com 
  11. [client]  
  12. socket=/var/lib/mysql/mysql.sock 

发现依旧如此,运行/etc/init.d/mysql start.

报错:Starting MySQLCouldn't find MySQL manager or server 是mysqld服务没启,运行如下代码:

/usr/local/mysql/bin/mysqld_safe 

问题解决了.

官网的一点解决办法:

if you are new to installing mysql server you might probably face this error quite often if you type mysql in the shell prompt.代码如下:

  1. > mysql 
  2. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' 

To fix:First start the mysql daemon, then type mysql,代码如下:

  1. > /etc/init.d/mysqld start 
  2. > mysql 

Bingo! It worked for me!To update mysql root password,代码如下:

  1. mysql> USE mysql; 
  2. mysql> UPDATE user SET Password=PASSWORD('new-password'WHERE user='root'
  3. mysql> FLUSH PRIVILEGES

To add a new user to mysql.

1. First login as root then create a database ‘demo’

> mysql -u root -p,代码如下:

  1. Enter password
  2. mysql> create database demo;  

After that create a new user named ‘guest’ with password ‘guest’ with all previleges assigned to demo database;,代码如下:

  1. mysql> GRANT ALL PRIVILEGES ON mytest.* TO 'guest'@'localhost' IDENTIFIED BY 'guest' WITH GRANT OPTION

Then exit mysql and connect through username guest;That should work!

Note:This could happen, if you run out of your disk space.  Check your disk space.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表