Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

There were no updates when I ran yum update. I was trying to install php-soap (which was failing), and online I found I should run this:

wget -q -O - http://www.atomicorp.com/installers/atomic.sh |sh

After running that, then "yum install php-soap" ran successfuly. Then I ran yum update just to check for updates and said yes for some packages. I noticed there were some mysql ones and such. Now mysql isn't running anymore and it won't let me start it (I get "MySQL Daemon failed to start")

Ideas?

Here's part of my mysql.log:

100616 16:37:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] option 'innodb-additional-mem-pool-size': signed value 512000 adjusted to 524288
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
100616 16:37:53 [Note] Plugin 'ndbcluster' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
100616 16:37:53 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100616 16:37:53  InnoDB: Started; log sequence number 0 1650102
100616 16:37:53 [ERROR] /usr/libexec/mysqld: unknown option '--skip-bdb'
100616 16:37:53 [ERROR] Aborting

100616 16:37:53  InnoDB: Starting shutdown...
100616 16:37:58  InnoDB: Shutdown completed; log sequence number 0 1650102
100616 16:37:58 [Note] /usr/libexec/mysqld: Shutdown complete
share|improve this question
    
It looks like the script you ran blindly upgraded MySQL, which broke your old installation as the upgrade was not performed properly. –  Warner Jun 17 '10 at 3:17

2 Answers 2

up vote 0 down vote accepted

These might be obvious suggestions, but does your my.cnf file contain "set-variable"?

And have you tried running mysql_upgrade?

As I've learned the hard way many times before—always, always back up your databases before any type of upgrade—whether a MySQL or app/framework upgrade. It takes only a minute or two to do an SQL dump, and it can save you hours or even days of headaches.

share|improve this answer
    
That's true, and luckily, I still have the data (I hadn't backed it up, but it wasn't ruined either.) Also, I can't run mysql_upgrade unless mysqld is running. –  Matthew Jun 17 '10 at 3:18
    
For some reason it really was the "set-variable". I commented out anything that was causing problems, and now it works. –  Matthew Jun 17 '10 at 3:31
    
Just because it appears to operate doesn't mean the state is nominal. –  Warner Jun 17 '10 at 4:10

what does your mysql error log show?

If nothing shows up, try to strace the startup script:

strace -f -o strace.output /etc/init.d/mysql.server start

This will write to the file strace.output all the system calls made when starting MySQL daemon. strace is normally useful when debugging this kind of problems. The last few lines might be useful.

Hope this helps.

share|improve this answer
    
I added my mysql log file. I'm really not sure what the problem is... –  Matthew Jun 17 '10 at 3:01

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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