安裝opencms使用mysql數據庫時,出現錯誤
?
- MySQL?system?variable? 'max_allowed_packet' ?is?set?to? 1048576 ?Byte?(1MB).??
- ??
- Please?note?that?it?will?not?be?possible? for ?OpenCms?to?handle?files?bigger?than? this ?value?in?the?VFS.??
- ???
- ????Error? while ?checking?the?server?configuration!??
- ??
- -------------------------------------------??
- ??
- Your? 'max_allowed_packet' ?variable?is?set?to?less?than? 16777216 ?Byte?(16MB).??
- ??
- The?required?value? for ?running?OpenCms?is?at?least?16MB.Please?change?your?MySQL?configuration?(in?the?my.ini?or?my.cnf?file).??
- ??
- ???
- ???
解決如下:
?
這個問題是因為導入的sql文件大于系統默認的max_allowed_packet的值,解決方法:比如在my.cnf修改增加到:max_allowed_packet=16M #或者更高,當然也可以在mysqld啟動的時候加入這個參數,但是該變量必須在mysqld重新啟動的時候才加載生效,所以必須重起mysqld!
?
參見兄弟博客是把
?
max_allowed_packet參數加載到了mysql啟動文件mysqld中,mysqld文件部分設置如下:
?
- ${MYSQL}/bin/mysqld?--user=mysql?--datadir=${MYSQL}/data? "$@" ?\??
- ??
- --language=${MYSQL}/share/mysql/english?-O?max_connections= 500 ?-O?wait_timeout= 600 ?\??
- ??
- -O?key_buffer=32M?--max_allowed_packet=32M?--port=${port}?--socket=/tmp/mysql.sock?&??
其中 --max_allowed_packet=32M必須有前面的――符號。
?
關于max_allowed_packet一些資料:
?
許多MySQL程序有一些內部變量可以在運行時設置。程序變量的設置與帶有值的其它長選項相同。
?
例如,mysql有一個max_allowed_packet變量,可以控制其通信緩沖區的最大長度。要想為mysql將max_allowed_packet變量的值設置為16MB,使用下面的任何一個命令:
?
shell> mysql --max_allowed_packet=16777216
?
shell> mysql --max_allowed_packet=16M
?
第1個命令以字節指定值。第2個命令以兆字節指定值。變量值可以有一個后綴K、M或者G(可以為大寫或小寫)來表示千字節、兆字節或者十億字節的單位。
?
在選項文件中,變量設定值沒有引導破折號:
?
[mysql]
?
max_allowed_packet=16777216
?
或:
?
[mysql]
?
max_allowed_packet=16M
?
如果你喜歡,變量名的下劃線可以為破折號。
?
注:max_allowed_packet參數是在mysql4以后才有的,在mysql4以前版本,還沒有這個參數
?
此外,還可以通過再/etc/增加my.cnf文件,在my.cnf中設置max_allowed_packet=16M,然后重啟mysql也可.至于my.cnf的獲得,可以從mysql主目錄的support-files下通過更改模版得到.
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
