mysql5.5升级报错_mysql5.1升级mysql5.5启动报错

今天把mysql从5.1升级到5.5启动的时候报如下错误:Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/var/xiaohuai_S2.pid).

安以往的经验,可能是mysql卡住了,有个僵尸进程,我们查看一下[root@xiaohuai ~]# ps -ef|grep mysql

root 21841 21275 0 13:19 pts/0 00:00:00 grep mysql

发现并没有僵尸进程卡在那,然后各种谷歌和百度,发现,原来mysql5.1升级到5.5以后,skip-locking这个参数的写法改为了skip-external-locking,在5.5中已经不识别skip-locking了,果断的去my.cnf里把skip-locking修改成skip-external-locking,重新启动mysql,果然好了。

顺道说下这个skip-external-locking这个参数:

MySQL的配置文件my.cnf中默认存在一行skip-external-locking的参数,即“跳过外部锁定”。根据MySQL开发网站的官方解释,External-locking用于多进程条件下为MyISAM数据表进行锁定。

如果你有多台服务器使用同一个数据库目录(不建议),那么每台服务器都必须开启external locking;

参数解释

当外部锁定(external-locking)起作用时,每个进程若要访问数据表,则必须等待之前的进程完成操作并解除锁定。由于服务器访问数据表时经常需要等待解锁,因此在单服务器环境下external locking会让MySQL性能下降。所以在很多Linux发行版的源中,MySQL配置文件中默认使用了skip-external-locking来避免external locking。

参数使用说明

如果是多服务器环境,希望打开external locking特征,则前面加“#”注释掉这一行即可# skip-external-locking

如果是单服务器环境,则将其禁用即可,使用如下语句skip-external-locking

另外skip-innodb已经改成loose-skip-innodb了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值