今天在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],添加下面这段代码:
- 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. |