ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
也看了GOOGLE上的解决方案,好像都不行啊。
我的环境是:redhat as4 2.6内核,
mysql的server和client也是从官网上下的对应redhat的版本,
安装过程没有错误,运行就出现上面的ERROR 2002了。
我试过如下方法:
1、先查看 /etc/rc.d/init.d/mysqld status 看看mysql是否已经启动.
结果:没有mysqld只有mysql,status结果:MySQL is not running, but lock exists [FAILED]
用chkconfig --list查看只有mysql没有mysqld,且 2-5级别都是on。
我想mysql在redhat下安装后service都是mysql不是mysqld
2、确定你的mysql.sock是不是在那个位置,
mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock
结果:/var/lib/mysql/ 下面没的mysql.sock文件
3、试试service mysql start
结果:Starting MySQL..Manager of pid-file quit without updating f[FAILED]
4、先改变权限 #chown -R mysql:mysql /var/lib/mysql
执行:/etc/init.d/mysqld start
结果:/var/lib/mysql/下没有生成mysql.sock
5、改/etc/my.conf
结果:没得my.conf文件
请大侠们帮帮忙,都搞了一上午了?
10 个解决方案
#1
你的mysql可能是异常终止了 而lock文件还在
所以无法启动
删除下面的文件(我这里是mysqld 你那儿可能是mysql 为了保险我把2个名字都写上了)
然后再启动mysql
/var/lock/subsys/mysqld
/var/lock/subsys/mysql
另外配置文件应该是/etc/my.cnf
而非/etc/my.conf
看清楚了
所以无法启动
删除下面的文件(我这里是mysqld 你那儿可能是mysql 为了保险我把2个名字都写上了)
然后再启动mysql
/var/lock/subsys/mysqld
/var/lock/subsys/mysql
另外配置文件应该是/etc/my.cnf
而非/etc/my.conf
看清楚了
#2
刚才照LS的方案做了,删除了/var/lock/subsys/mysql,还是报:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
etc/my.cnf 这个文件也没有
我下试下重装mysql试试。
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
etc/my.cnf 这个文件也没有
我下试下重装mysql试试。
#3
我上面的解决方案 是mysql启动不成功的方案 你看清楚
我让你删除那2个文件 再启动mysql服务器 即执行/etc/rc.d/init.d/mysql start
另外你这个服务名叫mysql 最好改成mysqld 要么容易和客户端命令mysql混淆
你现在看看mysql服务器是否启动了
解决问题得一步一步来 connect是后话
不知道你怎么安装的 所以不知道你的my.cnf再哪儿 默认mysql是会去/etc/my.cnf读取文件的
你可以创建一个/etc/my.cnf
内容比如如下
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
old_passwords=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
然后/etc/rc.d/init.d/mysql restart
再在程序里连接试试
#4
总之
首先 你得让mysql服务器先运行起来
其次 你得创建访问mysql服务器的用户 比如管理用的root(关于如何添加修改mysql的root用户秘密 在第一次启动mysql服务器的时候 屏幕上会一些提示) 创建一个数据库和相应的表 赋予某个用户访问该数据库的权限
然后 才是在程序里去用某个授权的用户链接mysql
如果连接不成功 才考虑/etc/my.cnf的配置问题 你的代码问题
首先 你得让mysql服务器先运行起来
其次 你得创建访问mysql服务器的用户 比如管理用的root(关于如何添加修改mysql的root用户秘密 在第一次启动mysql服务器的时候 屏幕上会一些提示) 创建一个数据库和相应的表 赋予某个用户访问该数据库的权限
然后 才是在程序里去用某个授权的用户链接mysql
如果连接不成功 才考虑/etc/my.cnf的配置问题 你的代码问题
#5
当然 配置文件不对 或者安装的步骤不对 mysql服务器启动不了的情况也很常见
#6
重新安装过后,直接就登陆成功了,不过我退出mysql后,改了密码
mysqladmin -u root -password=123456
再登陆:
[root@localhost /]# mysql -u root -p 123456
Enter password:123456
ERROR 1049 (42000): Unknown database '123456'
难道我mysql -u root -p 123456中的'123456'指的是database?
另:我重装后find / -name my.cnf确实没找到
mysqladmin -u root -password=123456
再登陆:
[root@localhost /]# mysql -u root -p 123456
Enter password:123456
ERROR 1049 (42000): Unknown database '123456'
难道我mysql -u root -p 123456中的'123456'指的是database?
另:我重装后find / -name my.cnf确实没找到
#7
终于试出密码了,看了网上的说明,原来自己把命令意思搞错了:
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了
#8
你看看/etc/init.d/mysql文件的前几行注释里 有没有下面一句
# config: /etc/my.cnf
你自己创建一个配置文件就可以了/etc/my.cnf
mysql启动的时候就会读取这个设定文件
# config: /etc/my.cnf
你自己创建一个配置文件就可以了/etc/my.cnf
mysql启动的时候就会读取这个设定文件
#9
/etc/init.d/mysql文件的前几行注释里 确实有下面一句
# config: /etc/my.cnf
# config: /etc/my.cnf
#10
感谢LS,大致问题基本上都解决了。结贴给分!
#1
你的mysql可能是异常终止了 而lock文件还在
所以无法启动
删除下面的文件(我这里是mysqld 你那儿可能是mysql 为了保险我把2个名字都写上了)
然后再启动mysql
/var/lock/subsys/mysqld
/var/lock/subsys/mysql
另外配置文件应该是/etc/my.cnf
而非/etc/my.conf
看清楚了
所以无法启动
删除下面的文件(我这里是mysqld 你那儿可能是mysql 为了保险我把2个名字都写上了)
然后再启动mysql
/var/lock/subsys/mysqld
/var/lock/subsys/mysql
另外配置文件应该是/etc/my.cnf
而非/etc/my.conf
看清楚了
#2
刚才照LS的方案做了,删除了/var/lock/subsys/mysql,还是报:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
etc/my.cnf 这个文件也没有
我下试下重装mysql试试。
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
etc/my.cnf 这个文件也没有
我下试下重装mysql试试。
#3
我上面的解决方案 是mysql启动不成功的方案 你看清楚
我让你删除那2个文件 再启动mysql服务器 即执行/etc/rc.d/init.d/mysql start
另外你这个服务名叫mysql 最好改成mysqld 要么容易和客户端命令mysql混淆
你现在看看mysql服务器是否启动了
解决问题得一步一步来 connect是后话
不知道你怎么安装的 所以不知道你的my.cnf再哪儿 默认mysql是会去/etc/my.cnf读取文件的
你可以创建一个/etc/my.cnf
内容比如如下
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
old_passwords=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
然后/etc/rc.d/init.d/mysql restart
再在程序里连接试试
#4
总之
首先 你得让mysql服务器先运行起来
其次 你得创建访问mysql服务器的用户 比如管理用的root(关于如何添加修改mysql的root用户秘密 在第一次启动mysql服务器的时候 屏幕上会一些提示) 创建一个数据库和相应的表 赋予某个用户访问该数据库的权限
然后 才是在程序里去用某个授权的用户链接mysql
如果连接不成功 才考虑/etc/my.cnf的配置问题 你的代码问题
首先 你得让mysql服务器先运行起来
其次 你得创建访问mysql服务器的用户 比如管理用的root(关于如何添加修改mysql的root用户秘密 在第一次启动mysql服务器的时候 屏幕上会一些提示) 创建一个数据库和相应的表 赋予某个用户访问该数据库的权限
然后 才是在程序里去用某个授权的用户链接mysql
如果连接不成功 才考虑/etc/my.cnf的配置问题 你的代码问题
#5
当然 配置文件不对 或者安装的步骤不对 mysql服务器启动不了的情况也很常见
#6
重新安装过后,直接就登陆成功了,不过我退出mysql后,改了密码
mysqladmin -u root -password=123456
再登陆:
[root@localhost /]# mysql -u root -p 123456
Enter password:123456
ERROR 1049 (42000): Unknown database '123456'
难道我mysql -u root -p 123456中的'123456'指的是database?
另:我重装后find / -name my.cnf确实没找到
mysqladmin -u root -password=123456
再登陆:
[root@localhost /]# mysql -u root -p 123456
Enter password:123456
ERROR 1049 (42000): Unknown database '123456'
难道我mysql -u root -p 123456中的'123456'指的是database?
另:我重装后find / -name my.cnf确实没找到
#7
终于试出密码了,看了网上的说明,原来自己把命令意思搞错了:
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了
#8
你看看/etc/init.d/mysql文件的前几行注释里 有没有下面一句
# config: /etc/my.cnf
你自己创建一个配置文件就可以了/etc/my.cnf
mysql启动的时候就会读取这个设定文件
# config: /etc/my.cnf
你自己创建一个配置文件就可以了/etc/my.cnf
mysql启动的时候就会读取这个设定文件
#9
/etc/init.d/mysql文件的前几行注释里 确实有下面一句
# config: /etc/my.cnf
# config: /etc/my.cnf
#10
感谢LS,大致问题基本上都解决了。结贴给分!