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
  • 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
  • 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
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.

  • 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.