Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 310787

Summary: dev-db/mysql-5.0.90-r2: emerge --config fails
Product: Gentoo Linux Reporter: f1a989188a51186834a821708563800a
Component: New packagesAssignee: Gentoo Linux MySQL bugs team <mysql-bugs>
Status: VERIFIED TEST-REQUEST    
Severity: critical    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: my.cnf modifications

Description f1a989188a51186834a821708563800a 2010-03-22 19:27:25 UTC
gentoo ~ # emerge --config =dev-db/mysql-5.0.90-r2


Configuring pkg...

 * Creating the mysql database and setting proper
 * permissions on it ...
 * Insert a password for the mysql 'root' user
 * Avoid ["'\_%] characters in the password
    >
 * Retype the password
    >
.....ERROR 2002 (HY000): Can't connect to local MySQL server through socket '//var/run/mysqld/mysqld14080.sock' (2)
 * Loading "zoneinfo", this step may require a few seconds ...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '//var/run/mysqld/mysqld14080.sock' (2)
/tmp/portage/portage/dev-db/mysql-5.0.90-r2/temp/environment: line 3649: //var/run/mysqld/mysqld28569.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
 * Stopping the server ...
 * Done
Comment 1 f1a989188a51186834a821708563800a 2010-03-22 19:29:16 UTC
gentoo ~ # emerge -pv dev-db/mysql

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] dev-db/mysql-5.0.90-r2  USE="-berkdb -big-tables -cluster -community -debug -embedded -extraengine -latin1 -max-idx-128 -minimal -perl -profiling (-selinux) -ssl -static -test" 0 kB
Comment 2 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-24 02:18:41 UTC
eclass fixed in CVS now.
Comment 3 f1a989188a51186834a821708563800a 2010-03-24 15:44:54 UTC
(In reply to comment #2)
> eclass fixed in CVS now.
> 

After emerge --sync I still experiencing this strange errors. Do I need to recompile mysql? How can I check my eclass file is the repaired one?

Current files:
mysql-5.0.90-r2.ebuild, 6056 bytes, Mar 24 05:05
mysql.eclass, 39619 bytes, Mar 24 05:05
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-24 17:06:35 UTC
Yes, you need to recompile mysql, because the eclass gets bundled in when you compile it.
Comment 5 f1a989188a51186834a821708563800a 2010-03-24 21:02:35 UTC
(In reply to comment #4)
> Yes, you need to recompile mysql, because the eclass gets bundled in when you
> compile it.
> 

After rebuild the original problem disappeard, now I have new ones:

gentoo ~ # emerge --config =dev-db/mysql-5.0.90-r2


Configuring pkg...

 * Please provide a password for the mysql 'root' user now,
 * or in the MYSQL_ROOT_PASSWORD env var.
 * Avoid ["'\_%] characters in the password
    >
 * Retype the password
    >
 * Creating the mysql database and setting proper
 * permissions on it ...
 * Starting mysqld ...                                                                                                         [ ok ]........
 * ERROR: dev-db/mysql-5.0.90-r2 failed:
 *   Completely failed to start up mysqld with: //usr/sbin/mysqld                --skip-grant-tables --skip-host-cache --skip-name-resolve --skip-networking --skip-slave-start --skip-bdb --skip-federated --skip-innodb --skip-log-bin --skip-relay-log --skip-slow-query-log --skip-external-locking             --user=mysql            --basedir=//usr                 --datadir=///var/lib/mysql            --max_allowed_packet=8M                 --net_buffer_length=16K                 --socket=//var/run/mysqld/mysqld16391.sock            --pid-file=//var/run/mysqld/mysqld3804.pid
 *
 * Call stack:
 *     ebuild.sh, line   54:  Called pkg_config
 *   environment, line 4044:  Called mysql_pkg_config
 *   environment, line 3669:  Called die
 * The specific snippet of code:
 *           die "Completely failed to start up mysqld with: ${mysqld}";
 *
 * If you need support, post the output of 'emerge --info =dev-db/mysql-5.0.90-r2',
 * the complete build log and the output of 'emerge -pqv =dev-db/mysql-5.0.90-r2'.
 * This ebuild is from an overlay named 'gentoo': '//var/db/pkg/'
 * The complete build log is located at '/tmp/portage/portage/dev-db/mysql-5.0.90-r2/temp/build.log'.
 * The ebuild environment file is located at '/tmp/portage/portage/dev-db/mysql-5.0.90-r2/temp/environment'.
 * S: '/tmp/portage/portage/dev-db/mysql-5.0.90-r2/work/mysql-5.0.90'

From mysqld.err:

100324 21:46:00 [ERROR] Default storage engine (InnoDB) is not available
100324 21:46:00 [ERROR] Aborting

100324 21:46:00 [Note] //usr/sbin/mysqld: Shutdown complete

Plus information:
- Database structure building just fine, although, the sript do not set correctly the given password for the root user. What is more, it do not set at all.
- If I start the mysql with the init script, everything works as it should. Expect the root password.

here is the log of the first start after the db init:
InnoDB: The InnoDB memory heap is disabled
InnoDB: use atomic builtins.
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
100324 21:53:11  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
100324 21:53:11  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 128 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
100324 21:53:14  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 128 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
100324 21:53:18  InnoDB: Started; log sequence number 0 0
100324 21:53:18 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.90'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  Gentoo Linux mysql-5.0.90-r2
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-24 21:27:54 UTC
100324 21:46:00 [ERROR] Default storage engine (InnoDB) is not available
100324 21:46:00 [ERROR] Aborting

please show me a diff of your my.cnf against the stock one.
Do you have default-storage-engine set?
Comment 7 f1a989188a51186834a821708563800a 2010-03-25 20:47:22 UTC
Created attachment 225255 [details, diff]
my.cnf modifications
Comment 8 f1a989188a51186834a821708563800a 2010-03-25 20:47:56 UTC
(In reply to comment #6)
> 100324 21:46:00 [ERROR] Default storage engine (InnoDB) is not available
> 100324 21:46:00 [ERROR] Aborting
> 
> please show me a diff of your my.cnf against the stock one.
> Do you have default-storage-engine set?
> 

default_storage_engine=InnoDB
Comment 9 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-25 20:59:35 UTC
Ok, rev 1.143 of the mysql.eclass now overrides default-storage-engine so that the internal mysql tables will be created correctly for your case.

Please wait 45 mins, emerge --sync, then build a new mysql to test (check the revision of the eclass for 1.143 to know that the changes are there).
Comment 10 f1a989188a51186834a821708563800a 2010-03-25 22:49:40 UTC
(In reply to comment #9)
> Ok, rev 1.143 of the mysql.eclass now overrides default-storage-engine so that
> the internal mysql tables will be created correctly for your case.
> 
> Please wait 45 mins, emerge --sync, then build a new mysql to test (check the
> revision of the eclass for 1.143 to know that the changes are there).
> 

sync, rebuild, everything works like a charm. THANK YOU!

gentoo ~ # emerge --config =dev-db/mysql-5.0.90-r2


Configuring pkg...

 * Please provide a password for the mysql 'root' user now,
 * or in the MYSQL_ROOT_PASSWORD env var.
 * Avoid ["'\_%] characters in the password
    >
 * Retype the password
    >
 * Creating the mysql database and setting proper
 * permissions on it ...
 * Starting mysqld ...                                                                                                   [ ok ]
 * Setting root password ...                                                                                            [ ok ]
 * Loading "zoneinfo", this step may require a few seconds ... ...                                                      [ ok ]
 * Stopping the server ...
 * Done