InnoDB & Autocommit

InnoDB & Autocommit

am 30.06.2006 14:20:34 von Carsten Bliessen

Hallo NG,

nachdem ich erfolglos ein rollback auf meiner Tabelle versucht habe
musste ich in der Doku lesen das für jede Verbindung default-mässig
autocommit=on bzw. 1 eingestellt ist. Was ich nicht finden konnte war
wie ich dieses permanent ändern kann? Bei den Startup Option ist zwar
einiges zu finden aber leider nichts was mit dem Autocommit zu tun hat -
oder übersehe ich da etwas?

Verwendete Version ist MySQL 5.0.22

Danke schon einmal für Tipps ...

Re: InnoDB & Autocommit

am 30.06.2006 14:42:49 von Christian Kirsch

Carsten Bliessen schrieb:
> Hallo NG,
>
> nachdem ich erfolglos ein rollback auf meiner Tabelle versucht habe
> musste ich in der Doku lesen das für jede Verbindung default-mässig
> autocommit=on bzw. 1 eingestellt ist. Was ich nicht finden konnte war
> wie ich dieses permanent ändern kann? Bei den Startup Option ist zwar
> einiges zu finden aber leider nichts was mit dem Autocommit zu tun hat -
> oder übersehe ich da etwas?
>
> Verwendete Version ist MySQL 5.0.22
>
> Danke schon einmal für Tipps ...

Wie genau *suchst* Du? Ich habe in der Online-Dokumentation von MySQL
"autocommit off" eingetippt und der zweite Eintrag war das hier:


http://dev.mysql.com/doc/refman/5.0/en/innodb-and-autocommit .html

Passt das nicht?

Dann hätte ich noch den 16. Eintrag zu bieten:

http://dev.mysql.com/doc/refman/5.0/en/server-system-variabl es.html

dessen relevante Zeilen ich Dir gerne vortrage (räusper, Licht aus,
leiser Trommelwirbel):

> 5.2.2. Server System Variables
>
> The mysql server maintains many system variables that indicate how it is configured. Each system variable has a default value. System variables can be set at server startup using options on the command line or in an option file. Most of them can be changed dynamically while the server is running by means of the SET statement, which enables you to modify operation of the server without having to stop and restart it. You can refer to system variable values in expressions.
>
> There are several ways to see the names and values of system variables:
>
> *
>
> To see the values that a server will use based on its compiled-in defaults and any option files that it reads, use this command:
>
> mysqld --verbose --help
>
> *
>
> To see the values that a server will use based on its compiled-in defaults, ignoring the settings in any option files, use this command:
>
> mysqld --no-defaults --verbose --help
>
> *
>
> To see the current values used by a running server, use the SHOW VARIABLES statement.
>
> This section provides a description of each system variable. Variables with no version indicated are present in all MySQL 5.0 releases. For historical information concerning their implementation, please see MySQL 3.23, 4.0, 4.1 Reference Manual.
>
> For additional system variable information, see these sections:
>
> *
>
> Section 5.2.3, “Using System Variables”, discusses the syntax for setting and displaying system variable values.
> *
>
> Section 5.2.3.2, “Dynamic System Variables”, lists the variables that can be set at runtime.
> *
>
> Information on tuning sytem variables can be found in Section 7.5.2, “Tuning Server Parameters”.
> *
>
> Section 14.2.4, “InnoDB Startup Options and System Variables”, lists InnoDB system variables.
>
> Note: Some of the following variable descriptions refer to “enabling” or “disabling” a variable. These variables can be enabled with the SET statement by setting them to ON or 1, or disabled by setting them to OFF or 0. However, to set such a variable on the command line or in an option file, you must set it to 1 or 0; setting it to ON or OFF will not work. For example, on the command line, --delay_key_write=1 works but --delay_key_write=ON does not.

etwas später dann:
> 5.2.2. Server System Variables
>
> The mysql server maintains many system variables that indicate how it is configured. Each system variable has a default value. System variables can be set at server startup using options on the command line or in an option file. Most of them can be changed dynamically while the server is running by means of the SET statement, which enables you to modify operation of the server without having to stop and restart it. You can refer to system variable values in expressions.
>
> There are several ways to see the names and values of system variables:
>
> *
>
> To see the values that a server will use based on its compiled-in defaults and any option files that it reads, use this command:
>
> mysqld --verbose --help
>
> *
>
> To see the values that a server will use based on its compiled-in defaults, ignoring the settings in any option files, use this command:
>
> mysqld --no-defaults --verbose --help
>
> *
>
> To see the current values used by a running server, use the SHOW VARIABLES statement.
>
> This section provides a description of each system variable. Variables with no version indicated are present in all MySQL 5.0 releases. For historical information concerning their implementation, please see MySQL 3.23, 4.0, 4.1 Reference Manual.
>
> For additional system variable information, see these sections:
>
> *
>
> Section 5.2.3, “Using System Variables”, discusses the syntax for setting and displaying system variable values.
> *
>
> Section 5.2.3.2, “Dynamic System Variables”, lists the variables that can be set at runtime.
> *
>
> Information on tuning sytem variables can be found in Section 7.5.2, “Tuning Server Parameters”.
> *
>
> Section 14.2.4, “InnoDB Startup Options and System Variables”, lists InnoDB system variables.
>
> Note: Some of the following variable descriptions refer to “enabling” or “disabling” a variable. These variables can be enabled with the SET statement by setting them to ON or 1, or disabled by setting them to OFF or 0. However, to set such a variable on the command line or in an option file, you must set it to 1 or 0; setting it to ON or OFF will not work. For example, on the command line, --delay_key_write=1 works but --delay_key_write=ON does not.

Re: InnoDB & Autocommit

am 30.06.2006 15:06:24 von Carsten Bliessen

>
> Wie genau *suchst* Du? Ich habe in der Online-Dokumentation von MySQL

So genau wie möglich?

> "autocommit off" eingetippt und der zweite Eintrag war das hier:
> http://dev.mysql.com/doc/refman/5.0/en/innodb-and-autocommit .html
> Passt das nicht?

NEIN - da ich ja explizit nach einem permanenten abschalten gefragt
hatte?? Den Eintrag habe ich natürlich selber gefunden ...

> Dann hätte ich noch den 16. Eintrag zu bieten:
>
> http://dev.mysql.com/doc/refman/5.0/en/server-system-variabl es.html

Der passt!

Entschuldig vielmals das ich:

[mysqld]
init_connect='SET AUTOCOMMIT=0'

nach etlichen gelesenen Seiten übersehen habe!

Trotzdem danke ich für die Info.

Re: InnoDB & Autocommit

am 30.06.2006 15:23:18 von Christian Kirsch

Carsten Bliessen schrieb:

>> Dann hätte ich noch den 16. Eintrag zu bieten:
>>
>> http://dev.mysql.com/doc/refman/5.0/en/server-system-variabl es.html
>
> Der passt!
>
> Entschuldig vielmals das ich:
>
> [mysqld]
> init_connect='SET AUTOCOMMIT=0'
>
> nach etlichen gelesenen Seiten übersehen habe!

Firefox: Ctrl-F commit, dann mit Ctrl-G weiter, bis man das Passende
gefunden hat. Spart das Lesen kompletter Seiten.

Re: InnoDB & Autocommit

am 30.06.2006 15:27:27 von Carsten Bliessen

>
> Firefox: Ctrl-F commit, dann mit Ctrl-G weiter, bis man das Passende
> gefunden hat. Spart das Lesen kompletter Seiten.

Auch wenn es OT ist - danke! Ctrl-G kannte ich noch nicht. Ich hab´
mich immer über die nötige Maussteuerung aufgeregt.

Das Problem war aber auch mehr das ich den Eintrag in der Suchliste
übersehen habe ... ;-)