Apparently, though unproven, at 22:15 on Wednesday 01 September 2010, Mick did opine thusly:
> 2010/9/1 Aniruddha <mailingdotl...@gmail.com>: > > On Tuesday 31 August 2010 20:30:55 Mick wrote: > >> > But this is apparently not the proper way, because after > >> > restarting the server, apache does not show my web-page > >> > reporting there is no such a database. I checked it with > >> > phpmyadmin, and really, there is absolutely no database > >> > in mysql! > >> > > >> > I quickly restored backup version which I have done just > >> > before trying mysql-update, so my web-site is up and running. > >> > Now I would like to update mysql the right way, I but do not > >> > know how to do it... > >> > >> Hi Jarry, > >> > >> Some years ago I ran into some similar problem, I can't recall exactly > >> what. Lost in folklore (wiki?) were some instructions to first stop > >> mysql before you update it and I have been following them since. > >> > >> I stop apach & mysql, run the update, dispatch-conf and then restart > >> them both. Haven't had problems since. > >> > >> There may be a better way for doing this - in which case others who know > >> better will hopefully chime in. > > > > I'm curious as well. Imo it shouldn't be necessary to stop mysql server > > for each update. > > Actually, this problem may be more sinister ... a bug? > > I also updated to the latest stable and as soon as I tried to restart > apache I got: > ========================================= > # /etc/init.d/apache2 start > * apache2 has detected an error in your setup: > apache2: Syntax error on line 155 of /etc/apache2/httpd.conf: Syntax error > on line 4 of /etc/apache2/modules.d/70_mod_php5.conf: Cannot load > /usr/lib/apache2/modules/libphp5.so into server: libmysqlclient.so.15: > cannot open shared object file: No such file or directory > ========================================= > > What the ... ? > > Line 155 of my /etc/apache2/httpd.conf says: > > Include /etc/apache2/modules.d/*.conf > > Line 4 of /etc/apache2/modules.d/70_mod_php5.conf, says: > > LoadModule php5_module modules/libphp5.so > > Also, I seem to have modules/libphp5.so and is world readable: > > $ ls -la /usr/lib/apache2/modules/libphp5.so > -rw-r--r-- 1 root root 5720576 Aug 13 20:09 > /usr/lib/apache2/modules/libphp5.so > > > I am downgrading now before a lynch mob arrives, but has anyone else > run into this problem? > > PS. I'm running www-servers/apache-2.2.16 You got so close to the real answer, just one more step :-) $ ldd /usr/lib64/apache2/modules/libphp5.so | grep mysql libmysqlclient_r.so.16 => /usr/lib64/mysql/libmysqlclient_r.so.16 (0x00007f185d528000) Think this through: you have a complex piece of software with it's config in memory. A library that uses a library uses a library. Then you remove that last library and replace it with version x+1. How do you expect the library in the middle of the chain to know about that? Via magic? Voodoo? Some automatic-check-if-stuff-changed-cron-job? No, you just simply restart services that use things that changed, especially if they used (then closed) the file you just changed. You might also need revdep-rebuild to get everything back 100%. It's all just situation-normal for a source based distro. Nothing you can, or should, try to "fix". -- alan dot mckinnon at gmail dot com