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

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

今天在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’

(2),解决方法[查看是不是存在该文件。修改相应的路径 vim /etc/my.cnf,查看是不是权限不对.ls -l ].

 代码如下 复制代码
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

(111),解决方法[修改相应的路径 vim /etc/my.cnf]

添加下面这段:

 代码如下 复制代码

port            = 3306
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:

 代码如下 复制代码

[mysqld] 
datadir=/usr/local/mysql/data 
socket=/var/lib/mysql/mysql.sock

[mysql.server] 
user=mysql 
basedir=/usr/local/mysql

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:

[client] 
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.

 代码如下 复制代码

> mysql
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

 代码如下 复制代码

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

Bingo! It worked for me!

To update mysql root password

 代码如下 复制代码

mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('new-password') WHERE user='root';
mysql> FLUSH PRIVILEGES;

To add a new user to mysql

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

> mysql -u root -p

 代码如下 复制代码
Enter password:
mysql> create database demo;

After that create a new user named ‘guest’ with password ‘guest’ with all previleges assigned to demo database;

 代码如下 复制代码

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.

原文地址:https://www.cnblogs.com/panxuejun/p/6151407.html