Bug #42471 "Transactions not supported by database" error while executing AutoCommit=>0
Submitted: 30 Jan 2009 11:44 Modified: 11 Feb 2009 10:37
Reporter: Balakrishna Pandaraboina Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:4.1.20 OS:Linux
Assigned to: CPU Architecture:Any

[30 Jan 2009 11:44] Balakrishna Pandaraboina
Description:
Hi, 

Whenever perl executing "AutoCommit=>0" ends with an error "Transactions not supported by database at /...../DBI.pm line 690.\n".

This error is coming if a run the code on Linux 2.6.9.78 only. The same works 
fine Linux 2.6.9.5,2.6.9.55 & 2.9.67.

Please help me fix this.

Thanks,
Bala.

How to repeat:
#test.pl
use DBI;
my $dbh = DBI->connect( ....,{ RaiseError => 1});
$dbh->{ AutoCommit } = 0;

#run test.pl on Linux 2.6.9.78
>./test.pl
[30 Jan 2009 12:05] Valeriy Kravchuk
What exact version of DBD::mysql do you use? Please, check also if InnoDB is configured in MySQL server. Send the results of:

show engines;

and your my.cnf file content.
[30 Jan 2009 12:25] Balakrishna Pandaraboina
DBD::mysql version : 3.0008 

Output of show engines:
+------------+---------+------------------------------------------------------------+
| Engine     | Support | Comment                                                    |
+------------+---------+------------------------------------------------------------+
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     |
| HEAP       | YES     | Alias for MEMORY                                           |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  |
| MERGE      | YES     | Collection of identical MyISAM tables                      |
| MRG_MYISAM | YES     | Alias for MERGE                                            |
| ISAM       | YES     | Obsolete storage engine, now replaced by MyISAM            |
| MRG_ISAM   | YES     | Obsolete storage engine, now replaced by MERGE             |
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys |
| INNOBASE   | YES     | Alias for INNODB                                           |
| BDB        | YES     | Supports transactions and page-level locking               |
| BERKELEYDB | YES     | Alias for BDB                                              |
| NDBCLUSTER | NO      | Clustered, fault-tolerant, memory-based tables             |
| NDB        | NO      | Alias for NDBCLUSTER                                       |
| EXAMPLE    | NO      | Example storage engine                                     |
| ARCHIVE    | NO      | Archive storage engine                                     |
| CSV        | NO      | CSV storage engine                                         |
| BLACKHOLE  | NO      | Storage engine designed to act as null storage             |
+------------+---------+------------------------------------------------------------+
17 rows in set (0.30 sec)

Content of my.cnf:
-------------------------------
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
----------------------------

Thanks,
Bala.
[30 Jan 2009 12:50] Balakrishna Pandaraboina
Please find the content of my.cnf on failure machine from below. (previous my.cnf is from working machine)
---------------------------
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
-----------------------------------

Thanks,
Bala.
[30 Jan 2009 12:51] Valeriy Kravchuk
Please, send the results of:

ls -l /var/lib/mysql

and the last part of your MySQL server error log (since the moment before last shutdown and restart).
[30 Jan 2009 13:39] Balakrishna Pandaraboina
No files in /var/lib/mysql

You mean MySQL server log file means /var/log/mysqld.log?
[30 Jan 2009 13:52] Balakrishna Pandaraboina
/var/log/mysqld.log file is empty.
[2 Feb 2009 5:50] Balakrishna Pandaraboina
Any update?
[2 Feb 2009 7:34] Sveta Smirnova
Thank you for the feedback.

I can not repeat described behavior with current DBD::mysql 4.010. Please upgrade DBD::mysql and inform us if problem still exists on your side.
[10 Feb 2009 5:08] Balakrishna Pandaraboina
Error while installing DBD::mysql

Attachment: Install_DBD-mysql.log (application/octet-stream, text), 8.47 KiB.

[10 Feb 2009 5:13] Balakrishna Pandaraboina
Installation errors are coming with DBD::mysql version 4.010. Please check the Install_DBD-mysql.log file for reference and help me to fix this bug.
[10 Feb 2009 20:44] Sveta Smirnova
Thank you for the feedback.

Some tests fail because "Access denied for user 'ip'@'' to database 'IP'". Please check user rights for the user ip.

Alternatively you can install DBD::mysql in the local directory without `make test` for testing if this bug still exists.
[11 Feb 2009 10:37] Balakrishna Pandaraboina
Issue was fixed with DBD::mysql version 4.010. Thank you very much for your support.