溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么處理MySQL數(shù)據(jù)庫相關(guān)異常

發(fā)布時間:2021-10-27 16:38:45 來源:億速云 閱讀:219 作者:柒染 欄目:數(shù)據(jù)庫

怎么處理MySQL數(shù)據(jù)庫相關(guān)異常,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

  大家都明白,任何數(shù)據(jù)庫在使用過程中,發(fā)生異常是不可避免的。下面小編來講解下MySQL數(shù)據(jù)庫相關(guān)異常怎么處理?

  問題一:啟動mysql時候出現(xiàn)StartingMySQL..Managerofpid-filequitwithoutupdatingf[失敗]StartingMySQL...Managerofpid-filequitwithoutupdating[失敗]

  解決方案:

  第一種:

  1.刪除/usr/local/mysql/data/mysql-bin.*文件夾所有臨時文件數(shù)字后綴名。

  2.重啟mysql(用二進制安裝后,重啟的方法)servicemysqldstart。

  第二種:

  編輯/etc/my.cnf添加:

  [mysqld]datadir=/var/lib/mysql

  MySQL服務(wù)器把數(shù)據(jù)庫存儲在由datadir變量所定義的目錄中。

  查看已有進程之后殺掉:

  ps-aux|grepmysql8016pts/200:00:00mysqld_safe8037pts/200:00:00mysqld

  重啟mysql。

  第三種:

  在/etc/my.cnf中注釋掉

  skip-federated=>#skip-federated

  第四種:

  有時候在/etc/my.cnf中設(shè)置了datadir=/var/lib/mysql重啟mysql就會出現(xiàn)這種錯誤。

  若不單獨設(shè)置,mysql默認數(shù)據(jù)目錄為mysql安裝目錄下。

  問題二:當讓系統(tǒng)自己生成庫時候,出現(xiàn)FATALERROR:Couldnotfind./bin/my_print_defaults。

  解決方案:/usr/local/mysql/scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

  問題三:mysql_connect()[function.mysql-connect]:Can'tconnecttolocalMySQLserverthroughsocket'/var/lib/mysql/mysql.sock'(13)/eccore/model/mysql.php94或者StartingMySQL/etc/init.d/mysql:line327:--socket=/var/lib/mysql/mysql.sock。

  解決方案:

  1>加入如下代碼,讓mysql去tmp文件夾應(yīng)用這個文件,以前默認為/var/lib/mysql/mysql.sock這個地址。

  修改/etc/my.cnf

  [mysql]socket=/tmp/mysql.sock

  2>進入/tmp文件夾創(chuàng)建mysql.sock

  touchmysql.sock

  3>重啟mysql

  /etc/init.d/mysqldrestart

  MySQL數(shù)據(jù)庫相關(guān)異常怎么處理

  問題四:A主機mysql訪問B主機mysql:mysql-uroot-proot-P3306-h292.168.100.52出現(xiàn)如下錯誤:ERROR2003(HY000):Can'tconnecttoMySQLserveron'192.168.100.52'(113)

  解決方案:

  1.服務(wù)器要能在網(wǎng)(公網(wǎng))上被訪問到,如果有防火墻,要開放3306端口(MySQL默認的監(jiān)聽端口);

  關(guān)閉所有防火墻/etc/rc.d/init.d/iptablesstop

  加入規(guī)則vim/etc/sysconfig/iptables

  2.在mysql服務(wù)器上建立一個遠程用戶,最簡單的方式就是

  grantALLPRIVILEGESon*.*tousername@"%"identifiedby"root"

  問題五:出現(xiàn)MySQLserverhasgoneaway有幾種情況。

  解決方案:

  1、應(yīng)用程序(比如PHP)長時間的執(zhí)行批量的MYSQL語句。

  解決方案:

  在my.cnf文件中添加或者修改以下兩個變量:

  wait_timeout=2880000interactive_timeout=2880000

  關(guān)于兩個變量的具體說明可以google或者看官方手冊。

  如果不能修改my.cnf,則可以在連接數(shù)據(jù)庫的時候設(shè)置CLIENT_INTERACTIVE,比如:

  sql="setinteractive_timeout=24*3600";mysql_real_query(...)

  2、執(zhí)行一個SQL,但SQL語句過大或者語句中含有BLOB或者longblob字段。比如,圖片數(shù)據(jù)的處理。

  解決方案:

  在my.cnf文件中添加或者修改以下變量:

  max_allowed_packet=10M(也可以設(shè)置自己需要的大小)

  max_allowed_packet參數(shù)的作用是,用來控制其通信緩沖區(qū)的最大長度。

看完上述內(nèi)容,你們掌握怎么處理MySQL數(shù)據(jù)庫相關(guān)異常的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)
推薦閱讀:
  1. 異常處理
  2. PHP 異常處理

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI