1
mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/libexec/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib64/libstdc++.so.6)

Starting MySql server with service mysqld start shows me this error.

How can i fix it? Tried to run a yum update, and yum reinstall glib* but nothing...

OS: CentOs 6.7 x64

Only today is not working, till yesterday worked great.

Name        : mysql
Arch        : x86_64
Version     : 5.1.73
Release     : 5.el6_6
Size        : 894 k
Repo        : base
Summary     : MySQL client programs and shared libraries
URL         : http://www.mysql.com
License     : GPLv2 with exceptions


yum info mysql-server
Name        : mysql-server
Arch        : x86_64
Version     : 5.1.73
Release     : 5.el6_6
Size        : 8.6 M
Repo        : base
Summary     : The MySQL server and related files
URL         : http://www.mysql.com
License     : GPLv2 with exceptions

i installed mysql with: yum install mysql && yum install mysql-server

mysqld is the process.

rpm -qf /usr/libexec/mysqld 
mysql55w-server-5.5.46-1.w6.x86_64 

yum info mysql55w-server
Name        : mysql55w-server
Arch        : x86_64
Version     : 5.5.46
Release     : 1.w6
Size        : 45 M
Repo        : installed
From repo   : webtatic
Summary     : The MySQL server and related files
URL         : http://www.mysql.com
License     : GPLv2 with exceptions
xMooo
  • 113
  • 4
  • 1
    How did you install mysql? What's the output of `yum info mysql` (edit it into your question)? – MadHatter Nov 29 '15 at 13:30
  • Added in question – xMooo Nov 29 '15 at 13:35
  • You installed MySQL package that was built for another distribution. CentOS 6 comes with glibc 2.12. The correct question for the first comment would have been `yum info mysqld`. – Florin Asăvoaie Nov 29 '15 at 13:36
  • Florin, I hate to disagree, but by default there *is* no package `mysqld` in C6.7. There is `mysql` and `mysql-server`, which are a linked pair of packages; I went for the one with less typing, though that may have been a mistake. xMooo, could you try `yum info mysql-server` instead? And, just to cover all the bases, `rpm -qf /usr/libexec/mysqld`? – MadHatter Nov 29 '15 at 13:38
  • Isn't possible, till yesterday worked fine! rpm -qf /usr/libexec/mysqld> mysql55w-server-5.5.46-1.w6.x86_64 Is there a way to reinstall mysql without loosing datas? (users, databases etc.) – xMooo Nov 29 '15 at 13:39
  • @xMooo and the `rpm -qf ...` output, if possible? – MadHatter Nov 29 '15 at 13:44
  • Added in the question – xMooo Nov 29 '15 at 13:47
  • Looks like someone has overwritten the stock mysqld with another one, from an inappropriate package. Could we get `yum info mysql55w-server`? – MadHatter Nov 29 '15 at 13:48
  • Yes, the problem isn't mysql, only today is giving me this error i think the problem is caused by "/lib64/libc.so.6: version `GLIBC_2.14' not found" – xMooo Nov 29 '15 at 13:51
  • 1
    I can't agree. The problem is that someone's brute-forced a *second* mysql server package onto this system, and the new one is almost certainly built for a different distro. As Florian has rightly pointed out, C6 comes with glibc 2.12; the fact that the new mysqld requires something else is **highly** suspicious. – MadHatter Nov 29 '15 at 13:54
  • As you can see i always used mysql55w, (45MB app+data) only today is giving me this prob. – xMooo Nov 29 '15 at 13:55
  • We cannot see anything of the sort; we have no way of knowing that it was you that installed the webtatic package, nor when you did it, nor how. – MadHatter Nov 29 '15 at 13:58
  • i did it a month ago, when i started using mysql, because that was the only way i knew to install mysql 5.5 on centos 6, and after a reboot, today the mysql started to giving me problems releated to glibc – xMooo Nov 29 '15 at 14:01

2 Answers2

2

I've just spun up a C6 VM, installed the webtatic repo on it, and got the server package installed and running. I don't know how you got it to install on top of the existing mysqld, but at any rate, when I install it in place of the existing one, the glibc requirements are correct and are satisfied.

Why yours is asking for glibc 2.14, I can't understand. Maybe webtatic temporarily released one with wrong run-time links, then released a correct one over the top of it without bumping the version number. It's hard to say, but this is the sort of thing that sometimes happens when you decide to go off-piste and install things from strange repos.

If I were you, I'd make a copy of /var/lib/mysql, uninstall and reinstall the mysql55w packages (doing it cleanly this time!), then stop the freshly-installed mysqld, copying your /var/lib/mysql in place of any new one that might have appeared (and keeping any such new one to hand in case you need it), and trying to start the server up.

Failing that, get ready to restore your DB from backups.

MadHatter
  • 79,770
  • 20
  • 184
  • 232
  • Done, same error. /usr/libexec/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib64/libstdc++.so.6) – xMooo Nov 29 '15 at 14:43
  • Can you edit the contents of your `/etc/yum.repos.d/webtatic.repo` into your question? And going forward, it's generally better to **show** us what you're doing, rather than just **telling** us; cutting and pasting from your ssh session can often give hints. – MadHatter Nov 29 '15 at 14:46
  • I'm also curious about the libstdc++ reference. Could we see `rpm -qf /usr/lib64/libstdc++.so.6` as well? – MadHatter Nov 29 '15 at 14:52
1

This is what I think has happened. You installed an updated version of MySQL on your system using a 3rd party repository. Either those packages don't do correct dependency checking or the packages were forced onto the system.

At that time you did not restart the mysql-server service so for the last month you have been using your old package because it was already in memory and in use.

You restarted your system, this caused the old mysql binaries to be released and the new ones to come into use. The new binaries require a later version of GLIBC than is available.

How can i fix it?

Remove the versions you have installed right now. Install the version that comes with CentOS (you've probaly been using it anyway). Then do some research to find a repository that provides MySQL at the versionyou want with the dependencies met (or available) on your system.

user9517
  • 115,471
  • 20
  • 215
  • 297