|
Ошибка, которая может возникнуть на сервере под управлением «hypervm» (платформа x86_64) в результате неудачного апдейта mysql и/или mysql-server:
# service hypervm restart /usr/local/lxlabs/hypervm/httpdocs Stopping hypervm: Waiting for the process to die..... Stopped hypervm
Starting hypervm: mysqld (pid 29002) is running...
Fatal error: Call to undefined function mysql_connect() in /usr/local/lxlabs/hypervm/httpdocs/htmllib/phplib/lib/sqlite.php on line 34 Started hypervm
Ничего страшного из себя не представляет. HyperVM использует свой пакет с php, который называется lxphp.i386. И эта ошибка возникает из-за того, что php не может корректно загрузить расширение для работы с mysql. Вот решение, проверенное нами. 1. Удаляем все копии и версии mysql, mysql-server: yum erase mysql mysql-server
Эти пакеты за собой потянут еще парочку: Removing for dependencies: lxlighttpd perl-DBD-mysql
2. Ставим пакеты обратно: yum install mysql mysql-server lxlighttpd
Получаем: Running Transaction Installing : mysql 1/6 Installing : mysql 2/6 Installing : perl-DBD-mysql 3/6 Installing : lxlighttpd 4/6 Installing : mysql-server 5/6 Installing : lxlighttpd 6/6
Installed: lxlighttpd.i386 0:1.4.26-2 lxlighttpd.x86_64 0:1.4.26-2 mysql.i386 0:5.0.77-4.el5_5.3 mysql.x86_64 0:5.0.91-lxcenter.1 mysql-server.x86_64 0:5.0.91-lxcenter.1
Dependency Installed: perl-DBD-mysql.x86_64 0:4.014-1.el5.rf
Complete!
3. Запускаем HyperVM service hypervm restart /usr/local/lxlabs/hypervm/httpdocs Stopping hypervm: Waiting for the process to die..... Stopped hypervm
Starting hypervm: mysqld (pid 29002) is running... Started hypervm
Если не удалить все версии mysql и пытаться поставить версию i386 на сервер с уже установленной x86_64 может возникнуть конфликт версий. На момент написания статьи имеются следующие версии: mysql.i386 5.0.77-4.el5_5.3 installed mysql.x86_64 5.0.91-lxcenter.1 installed mysql-server.x86_64 5.0.91-lxcenter.1 installed
P.S. Возможно есть и другое решение.
|