您好,登錄后才能下訂單哦!
怎么處理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è)資訊頻道,感謝各位的閱讀!
免責(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)容。