Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изключа autocommit за MySQL клиент?

Може би най-добрият начин е да напишете скрипт, който стартира клиента на командния ред на mysql и след това автоматично да изпълнява какъвто пожелаете sql, преди да предаде контрола на вас.

linux идва с приложение, наречено 'expect'. той взаимодейства с обвивката по такъв начин, че да имитира вашите клавишни удари. може да се настрои да стартира mysql, изчакайте да въведете паролата си. изпълнете допълнителни команди като SET autocommit = 0; след това преминете в интерактивен режим, за да можете да изпълнявате всяка команда, която искате.

за повече информация относно командата SET autocommit = 0; вижте.. http://dev.mysql. com/doc/refman/5.0/en/innodb-transaction-model.html

Използвам очаквам да вляза в помощна програма на командния ред, в моя случай тя стартира ssh, свързва се с отдалечения сървър, стартира приложението, въвежда моето потребителско име и парола, след което прехвърля контрола към мен. спестява ми купища писане :)

http://linux.die.net/man/1/expect

DC

Очаквайте скрипт, предоставен от Майкъл Хиндс

spawn /usr/local/mysql/bin/mysql 
expect "mysql>" 
send "set autocommit=0;\r" 
expect "mysql>" interact

Очаквайте е доста мощно и може да направи живота много по-лесен, както в този случай.

ако искате да накарате скрипта да се изпълнява без извикване на очакване, използвайте реда shebang

вмъкнете това като първи ред във вашия скрипт (подсказка:използвайте which expect за да намерите местоположението на вашия очакван изпълним файл)

#! /usr/bin/expect

след това променете разрешенията на вашия скрипт с..

chmod 0744 myscript

след това извикайте скрипта

./myscript

DC



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Дизайн на база данни:Съставен ключ срещу първичен ключ с една колона

  2. Вмъкване на няколко реда в таблица с помощта на PHP

  3. Каква е разликата между типовете данни на MySQL BOOL и BOOLEAN?

  4. Entity Framework Вмъкване на първоначални данни при повторно изграждане

  5. ГРЕШКА:Грешка 1005:Не може да се създаде таблица 'cat10e.recording' (errno:150)