使用mysql基本基本上會遇到主要的兩個問題
#/etc/init
stopping mysql [ok]
Timeout error occurred trying to start MySQL Daemon
但是這個時候mysql實際上已經起動了
這實際上是mysql
是什麼原因導致連接超時呢?
我們不妨先看看/etc/init
# If you
# use a user that is allowed to ping mysqld
ping=
# Spin for a maximum of ten seconds waiting for the server to come up
if [ $ret
for x in
if [
break;
else
sleep
fi
done
if !([
echo
Daemon
else
action $
fi
else
action $
fi
[ $ret
return $ret
我們看到
而這個命令想要正確執行是需要能夠登錄mysql的
不妨使用下面的命令測試一下
#mysqladmin
mysql alive
當你提供了帳號和密碼時
這個bug在mysql新出的mysql
但是RH
於是我用了下面的辦法臨時解決
a)建立一個帳號
b)修改/etc/init
下面我給出具體操作
#mysql
mysql>GRANT select ON test
mysql>revoke select on test
打開/etc/init
把下面這行
ping=
修改為
ping=
保存
重新起動mysql
#/etc/init
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
如果你的第二行仍然是failure的話
#/etc/init
這時應該式ok了
如果這樣可以ok的話
那麼你需要修改/etc/init
在restart函數的start後面再加一個start就可了
Cannot initialize InnoDB as
If you do not want to use transactional InnoDB tables
skip
to the [mysqld] section of init parameters in your f
or my
section
innodb_data_file_path = ibdata
But to get good performance you should adjust for your hardware
the InnoDB startup options listed in section
這是因為默認的數據庫起動腳本需要加載innodb數據庫
因此這裡有兩種解決辦法:使用和不使用innodb
我們先看不使用innodb的辦法
其實這個方法就是跳過innodb的方法
在/etc/f文件的mysqld區域增加一行
skip
如果我們需要使用innodb呢?
那麼可在/etc/f文件的mysqld區域增加下面幾行
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_arch_dir = /var/lib/mysql/
set
set
set
set
innodb_flush_log_at_trx_commit=
set
保存
應該不會再提示有關innodb的問題了
From:http://tw.wingwit.com/Article/program/MySQL/201311/29509.html