草庐IT

transactional-replication

全部标签

Python3 - 'Lock wait timeout exceeded; try restarting transaction' 并且只处理数据库

使用Python我一直得到一个(1205,'Lockwaittimeoutexceeded;tryrestartingtransaction')每当我尝试插入特定表时出错。但是,当我尝试直接从MySQL控制台插入时,它工作得很好。展望SHOWFULLPROCESSLIST数据库显示没有其他事件查询。因为这是一个没有附加实时应用程序的开发数据库,​​所以我无法想象有任何问题。但是,它是在托管我们的生产数据库的服务器上提供的,因此我强烈希望尽可能不要进行重置。关于如何调试这个有什么建议吗?注意如果我使用SHOWFULLPROCESSLIST查看正在对数据库运行的查询,最终失败并显示上述消息

mysql - InnoDB 优化 - "use transactions when doing updates"- 为什么?

我正在阅读thispost在MySQL性能博客上。在应用程序调整下它说:Firstmakesureyou’reusingtransactionswhendoingupdates我目前只在同时有多个插入或更新的地方使用事务。即不止一张table。因此,我是否应该更改每个UPDATE以将其更改为事务?有什么区别:preparesqlbindparamscommit和:begintransactionpreparesqlbindparamsexecutestatementcommittransaction就数据库级别发生的事情而言,这使得一个比另一个更快? 最佳答

Mysqldump --single-transaction 选项

有人能解释一下mysqldump--single-transaction实际上是如何用于事务表的吗,比如InnoDB?我看过官方documentation但仍然没有胶水。它是否像--lock-tables那样执行每个表锁定而不是全局锁定?此外,mysqldump运行--opt作为默认选项,其中包括--lock-tables,但它们与--single-transaction如上面的文档链接中所述。在单个mysqldump命令中使用--single-transaction时,我应该使用--skip-opt吗?我需要转储大小约为700Gb的InnoDB表,我正在寻找实现此目的的正确命令。目前

php - PDO/PHP/MySQL 中的性能 : transaction versus direct execution

我循环遍历多个值(例如1到100)并在循环内执行准备好的语句。与在循环内直接执行相比,使用事务(在循环结束后提交)是否有优势?这些值彼此不依赖,因此从这个角度来看不需要交易。 最佳答案 如果您的查询是INSERT,页面7.2.19.SpeedofINSERTStatementsMySQL手册的一部分提供了两个有趣的信息,具体取决于您是否使用事务引擎:使用非事务引擎时:TospeedupINSERToperationsthatareperformedwithmultiplestatementsfornontransactionalta

为什么要使用 transaction data?

可能你也注意到了,在跟智能合约交互(例如发送token)时,你的事务会自动包含inputdata(“输入数据”)。在MyCrypto钱包界面,这些数据有个简单的标签:“Data(数据)”——它是做什么的呢?这篇文章就是从技术上解释事务输入数据是怎么一回事,它实质是什么,又是怎么工作的。 -MyCrypto钱包的高级事务设定-什么是InputData?我们先来看看这笔token转账交易。某个人发送了0ETH到 0xd26114cd6ee289accf82350c8d8487fedb8a0c07(OmiseGo合约地址),而且Etherscan网站呈现了这是一笔意图发送0.19OMGtoken到这

mysql - 错误 : Binlogging on server not active when setting up Master Slave replication on one machine

我正在尝试使用thistutorial在我的本地计算机上设置主从复制.我快要结束了,但是当我尝试使用--master-data=2运行mysqldump时,我得到了一个错误mysqldump:Error:Binloggingonservernotactive我遇到的所有解决方案都说要将log_bin=/var/log/mysql/mysql-bin.log添加到my.cnf我有完成了,但似乎并没有解决问题。这是我的my.cnf文件:[client]port=3306socket=/var/run/mysqld/mysqld.sock[mysqld_safe]pid-file=/var/

PHP & MySQL : Simple code to implement Transaction - Commit & Rollback

我的平台:PHP和MySQL我的情况:我正在尝试在我的代码中实现交易。我试图遵循示例,但这并没有多大帮助。我正在运行3个查询,我想以这种方式编写一个事务,以便如果任何一个查询失败,整个事务应该回滚。我真的很感激一个简单、高效和非面向对象的PHP代码来实现这个目标。提前谢谢你。我的PHP代码://db_rescallsacustomfunctionthatperformsamysql_queryonthequery$res1=db_res("SELECTc1,c2FROMt1WHEREc5=3");$res2=db_res("UPDATEt2SETc1=5WHEREc2=10");$re

MySQL 事务 : One Large Transaction against Multiple Small Transactions

大交易的设计..STARTTRANSACTION;/*INERTforlogindetail*//*INSERTforpersonalinformation*//*INSERTforuser'stransactionaccount*/COMMIT;和小交易的设计..STARTTRANSACTION;/*INSERTforlogindetail*/COMMIT;STARTTRANSACTION;/*INSERTforpersonalinformation*/COMMIT;STARTTRANSACTION;/*INSERTforuser'stransactionaccount*/COMMI

MySQL 复制 : temporarily prevent specific SQL statements replicating to the slaves?

我想连接并执行一个(或有时是多个)SQL语句,而不是将它们复制到从服务器。我没有replicate-do或replicate-ignore配置,所以我不能使用一些非复制数据库来发送命令。我知道:setglobalsql_slave_skip_counter=1但那是在奴隶身上。我希望能够在主服务器上运行类似的命令,并且不向从服务器发送以下N个命令(我猜这意味着也没有记录在二进制日志中)。 最佳答案 SETsql_log_bin=0就是您要查找的内容。需要SUPERpriv.,并且将关闭session命令的记录,直到您将其设置回1。参

php - 如何将准备好的语句与 Transactions with PHP 结合使用?

我的目标是同时使用事务和准备好的语句,以实现数据的完整性和防止SQL注入(inject)。我有这个:try{$cnx=newPDO($dsn,$dbuser,$dbpass);$cnx->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$cnx->beginTransaction();$cnx->query("SELECT*FROMusersWHEREusername=$escaped_input");$cnx->query("SELECT*FROMothertableWHEREsome_column=$escaped_in