mysql無法啟動

來源:互聯網
上載者:User

標籤:os   io   檔案   art   ar   問題   cti   linux   

linux下mysql無法啟動的解決方案  
2010-02-23 15:34:36| 分類: UNIX |字型大小 
剛開始學mysql時都是用redhat內建的。啟動是什麼 /rc.d/init.d/ start 
 這很簡單,但是後來越學越多,系統內建的mysql,有的是版本太低,有的是與  自己想要裝的web服務需要的低版本的mysql  
 後來自己學著以tar的方式安裝mysql,我的mysql裝在/usr/local/mysql目錄下啟  
 動碰到過很多問題。最常見的是: 
 ERROR 2002: Can‘t connect to local MySQL server through socket  
 ‘/tmp/mysql.sock‘ (111)  
 解決辦法: 
 [[email protected] mysql]# /usr/local/mysql/bin/mysqladmin -u root /  > -S /var/lib/mysql/mysql.sock password ‘your.passwd‘  或者做個串連 
 ln -s /var/lib/mysql/mysql.sock /tmp 
 其實提示找不到 /tmp/mysql.sock有時也並不是/tmp目錄下沒這個檔案,是啟動  命令不對,我碰到過 
 常見的幾種啟動方式,自己也不是記得很清楚,如果你確定tmp下有mysql.sock這  個檔案不妨試試另外的幾個命令  /usr/local/mysql/bin/mysql -u root -p  /usr/local/mysql/bin/mysqld --user=mysql&  /usr/local/mysql/bin/mysqld --user=root&  /usr/local/mysql/bin/mysqld_safe --user=root&  /usr/local/mysql/bin/mysqld_safe --user=mysql& 
 /usr/local/mysql/bin/safe_mysqld--uer=root&(注意safe_mysqld與mysqld_safe是不同的,&表示mysql在後台運行)我的就會報錯了  STOPPING server from pid file 
 /usr/local/mysql/data/localhost.localdomain.pid  060304 11:46:21 mysqld ended 
 這是許可權問題,我的mysql目錄屬於root使用者,也屬於root群組,改用mysqld_safe啟動就沒問題了,  大家只要注意這幾個mysql,safe_mysqld,mysqld_safe,mysqld,mysqladmin.多試  幾次 
 其實有時mysql已經正常啟動了,查看mysql是否啟動命令  ps -aux | grep mysqld  會看到如下類似內容 
 mysql 6394 0.0 1.5 10528 992 pts/3 S 16:16 0:00  /usr/local/mysql/ 


應屆生求職季寶典 開啟你的職場征途 簡曆撰寫 筆試真題 面試攻略 專業技能指導 公務員專區


 mysql 6395 0.0 1.5 10528 992 pts/3 S 16:16 0:00  /usr/local/mysql/ 
 mysql 6396 0.0 1.5 10528 992 pts/3 S 16:16 0:00  /usr/local/mysql/ 
 root 6422 0.0 1.1 2408 732 pts/3 S 16:20 0:00 grep  mysql  
 查看mysql是否在監聽連接埠命令  netstat -tl | grep mysql netstat -ant 會看到如下類似內容  tcp 0 0 *:mysql *:* LISTEN 
啟動mysql 報錯: 
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 
1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已經啟動. 另外看看是不是許可權問題. 
2、確定你的mysql.sock是不是在那個位置, 
mysql -u 你的mysql使用者名稱 -p -S /var/lib/mysql/mysql.sock 3、試試:service mysqld start 
4、如果是許可權問題,則先改變許可權 #chown -R mysql:mysql /var/lib/mysql [[email protected] ~]# /etc/init.d/mysqld start 啟動 MySQL: [ 確定 ] 
[[email protected] ~]# mysql -uroot -p 
ERROR 2002 (HY000): Can‘t connect to local server through socket ‘/var/lib/mysql/mysql.sock‘ (2) 
 原因是,/var/lib/mysql 的存取權限問題。  
shell> chown -R mysql:mysql /var/lib/mysql 

 

 


 
接著啟動伺服器 
shell> /etc/init.d/mysql start 
伺服器正常啟動後察看 /var/lib/mysql 自動產生mysql.sock檔案。 但是我的問題仍然沒有得到解決。 問題終於解決: 
方法: 修改/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 &  
問題解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.