Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29336435
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Mysql/postgreSQL

2010-02-04 15:36:56

情况是这样的:
一开始我的数据库运行正常。然后我做一个压力测试试验
./mysqlslap --defaults-file=/etc/my.cnf --concurrency=500 --iterations=1 --cre
ate-schema=test --query='call no_disk_load_part();' --engine=innodb --number-of-queries=500 --debug-info -ur
oot -p -S/tmp/mysql.sock
其中这个存储过程我是这样写的

delimiter //

create procedure no_disk_load_part()

begin

declare v int default 0;

while v<10000

do

insert into no_disk_part_tab values('testing partitons',adddate('1995-01-01',(rand(v)*36520) mod 3652));

set v=v+1;

end while;

end

//

结果一测试马上挂死了!提示我MYSQL连接数过多。(不太明白?)


然后我想重启MYSQL

/etc/rc.d/init.d/mysql restart

结果启动不起来还提示我:Can't connect to local MySQL server through socket '/tmp/mysql.sock'



解决方法:service mysqld start  这样启动就好了!





补充

“/var/lib/mysql/mysql.sock不存在”的信息遇到过几次。不过我碰到的情况,通常是mysql.sock的位置问题。可以通过修改/etc/my.cnf来指定它的位置。

比如

[mysql]

socket=/var/lib/mysql/mysql.sock

[mysqld]

socket=/var/lib/mysql/mysql.sock

前者是告诉客户端(mysql)到哪里去找mysql.sock;后者是告诉mysqld启动时,把mysql.sock放在哪个目录下。

在ODBC的配置文件中也可以指定mysql.sock的位置,对于使用ODBC连接本地MYSQL的程序,可能需要配置.odbc.ini,加上对其位置的指定。

此外,出现上述错,通常是因为,安装了两个版本的MySQL。比如一个是rpm方式安装(在redhat系列上通常会有一个缺省安装的较低版本的 MySQL即是通过rpm方式安装的),另一个是用tgz包解压在/usr/local下安装的。而两个版本的mysqld和mysql缺省的 mysql.sock的路径是不同的。如果启动的是3.2的mysqld,而用4.1的mysql去连接,就可能找不到mysql.sock而报错。反之亦然。安装两个版本是没问题的,但要知道当前你执行的mysql和mysqld是否是同一版本的。而这一问题又往往被忽略,因为通常运行mysql和 mysqld都是不加绝对路径的,这时候就找的是缺省路径中的mysql和mysqld了,而又未必是你真正想用的那个版本。



阅读(981) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

hkebao2010-03-26 17:08:34

今天又遇到这样的事情了。重启了一下这台机子就没有数据库了。 记录一下排查过程: 1. netstat -tlnp|grep 3306 检查一下3306是否存活 2.看到 5597/mysqld 3. 将其杀掉 killall mysqld 4. 再重启service mysqld start 成功!

chinaunix网友2010-02-04 21:25:35

事后我发现应该要去查看一下localhost.err有一个错误日志检查一下是不是my.cnf配置有问题导致的。

chinaunix网友2010-02-04 15:39:49

居然更离奇的是我打开登录数据库之后发现我的数据库全没了。我倒!还好不是在实际环境中测试要是的话这下我死定了。数据库千万要记得备份! 怎么会把我的数据文件全给干掉了呢?奇怪了!!!