首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

laravel 执行迁移示例

我们对于自己编写和设计数据库,可以通过迁移文件,不断的重复去测试....但是有些时候我们需要去执行迁移 (1) 建议使用 执行上一次迁移 如果是本地开发(一般都在前期开发) 执行:php artisan migrate:rollback(迁移文件在/database...执行:php artisan migrate:rollback –path=/database/migrations/你的文件夹 执行同一个目录下的 php artisan migrate:refresh...再回去执行迁移。简单粗暴。但是此方式只适合本地开发。请不要在正式环境使用 (2) 三种操作 php artisan migrate:rollback 在写迁移时偶尔也会犯错误。...以上这篇laravel 执行迁移示例就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.2K41

MySQL】MyFlash mysql binlog

这时可以用binlog闪DML操作。本篇文章主要介绍通过MyFlash工具来回binlog。 MyFlash是由美团点评公司技术工程部开发维护的一个DML操作的工具。...该工具通过解析v4版本的binlog,完成操作。相对已有的工具,其增加了更多的过滤选项,让更加容易。.../flashback --help --查看帮助 使用: 下面的这些参数是可以任意组合的。 1.databaseNames 指定需要回的数据库名。多个数据库可以用“,”隔开。...2.tableNames 指定需要回的表名。多个表可以用“,”隔开。如果不指定该参数,相当于指定了所有表。 3.start-position 指定滚开始的位置。如不指定,从文件的开始处。...|mysql -uroot -pyourpass 可以在.bash_profile增加 alias flashback="/root/test/MyFlash/binary/flashback" 以后即可这样使用

3.9K10

mysql binlog数据

1.先开启binlog log-bin = /var/log/mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的...xxx/xxx路径下,如果只配置mysql_bin的话默认在C:\ProgramData\MySQL\MySQL Server 5.7\Data下; binlog_format = ROW #binlog...日志格式,默认为STATEMENT:每一条SQL语句都会被记录;ROW:仅记录哪条数据被修改并且修改成什么样子,是binlog开启并且能恢复数据的关键; expire_logs_days= 10 #binlog...show binlog events in 'mysql-bin.000352' 5.用binlog2sql打印出sql语句和逆向的sql语句,保存并导入 python binlog2sql.py...-h127.0.0.1 -P3306 -uroot -p'xxxx' --start-file mysql-bin.000352 --flashback 两条sql就可以重新执行一下了 UPDATE

5.8K20

MyFlash mysql binlog

简介:MyFlash是由美团点评公司技术工程部开发维护的一个DML操作的工具。该工具通过解析v4版本的binlog,完成操作。相对已有的工具,其增加了更多的过滤选项,让更加容易。.../flashback --help --查看帮助 使用: 下面的这些参数是可以任意组合的。 * 1.databaseNames 指定需要回的数据库名。多个数据库可以用“,”隔开。...2.tableNames 指定需要回的表名。多个表可以用“,”隔开。如果不指定该参数,相当于指定了所有表。 3.start-position 指定滚开始的位置。如不指定,从文件的开始处。...请指定正确的有效的位置,否则无法 4.stop-position 指定结束的位置。如不指定,滚到文件结尾。...sql mysqlbinlog --no-defaults binlog_output_base.flashback |mysql -uroot -pyourpass --执行恢复 可以在.bash_profile

1.5K20

mysql事务机制概述

的意思其实即使如果之前是插入操作的话,那么会执行删除之前插入的记录,如果是修改操作的话,那么会执行将update之前的记录还原。 因此,正确的原子操作是真正被执行过的,是物理执行。...MYSQL中使用事务: 在MYSQL命令行命令下事务都是自动提交的,即执行Sql语句就会马上执行COMMIT操作。...ROLLBACK:也可以使用ROLLBACK WORK,两者也是等价的,会结束用户的事务,并且会撤销正在进行的所有未提交的修改。...事务T2读取到了T1更新后的行,然后T1执行操作,取消了刚才所做的修改。...mysql事务怎样实现的代码可以参考此bolg:http://bbs.csdn.net/topics/390876901 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完

2.6K20

MySQL 日志 undo log

事务日志分为undo log(日志) 和 redo log(重做日志) 二、undo log 1. undo log的概念 undo log和redo log统称事务日志,不同于binlog是MySQL...(MVCC)下读操作(快照读)的关键技术 2. undo log的作用 undo log日志的主要作用: 事务发生错误时rollback,数据更新之前,会把原始数据保存在日志中,保证事务出错或者我们手动的时候...防止事务恢复修改前的状态,需要将最初的数据存放在undo log中!...从当前行的DB_ROLL_PTR可以访问到旧数据,进行就很简单了 三、undo log举例 原始的user表如下: MVCC机制会对这张表增加2列,修改当前数据的事务ID(DB_TRX_ID)和指向...NULL,就知道是insert增加的数据,直接执行insert的反操作delete就可以了 同样的,如果我们这时要修改刚刚insert的数据,将id=23的age改成23 在已提交读和可重复读隔离级别下

21530

MySQL 的FLASHBACK 数据

FLASHBACK 功能是一个让人刮目相看的功能,如果你做错了什么怎么能将那段时间的数据恢复,并且还让生产的应用不停止,这是一个数据库管理员都想拥有的功能, SQL SERVER 需要借助第三方软件的功能,可以完成数据的和恢复...,ORACLE 独有的FLASHBACK 功能,以及POSTGRESQL 的pg_dirtyread 功能,都可以从某些方面来进行数据的和数据的找回。...MYSQL的数据找回和使用的是BINLOG2SQL 这个开源的工具,其中的原理如果你懂得MYSQL的binlog 原理,则你会很快明白其可以恢复数据的方式。...如果你想产生语句,直接在 上图语句的后面添加 flushback ?...大家可以观察上图,通过上图可以理解 BINLOG 语句的记录模式 1 无论你如何插入数据,是批量还是,单条插入,在BINLOG 里面都会逐条解析你插入的记录 2 你UPDATE 或者 DELETE 数据表一条语句多条数据的情况下

3.1K30

MySQL--事务机制与原理

事务机制 其实,讨论MySQL的事务机制,也就是在说MySQL的事务原子性是如何实现的(关于事务之前文章中有过简单介绍)。...所谓原子性,就是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行语句必须,数据库会退回到事务前的状态。...当发生时,InnoDB会根据undo log的内容做与之前相反的工作:对于每个insert,时会执行delete;对于每个delete,时会执行insert;对于每个update,时会执行一个相反的...以update操作为例:当事务执行update时,其生成的undo log中会包含被修改行的主键(以便知道修改了哪些行)、修改了哪些列、这些列在修改前后的值等信息,时便可以使用这些信息将数据还原到update...上面这张图,就比较清晰的表示事务的原理,可以看到,每一步数据的更改都伴随着日志的产生。

2.8K20

mysql事务机制概述「建议收藏」

的意思其实即使如果之前是插入操作的话,那么会执行删除之前插入的记录,如果是修改操作的话,那么会执行将update之前的记录还原。 因此,正确的原子操作是真正被执行过的,是物理执行。...MYSQL中使用事务: 在MYSQL命令行命令下事务都是自动提交的,即执行Sql语句就会马上执行COMMIT操作。...ROLLBACK:也可以使用ROLLBACK WORK,两者也是等价的,会结束用户的事务,并且会撤销正在进行的所有未提交的修改。...事务T2读取到了T1更新后的行,然后T1执行操作,取消了刚才所做的修改。...mysql事务怎样实现的代码可以参考此bolg:http://bbs.csdn.net/topics/390876901 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完

2.6K10

MySQL update mysqlbinlog回复数据

mysql的目录 然后把mysqlbinlog做个软连接到/usr/bin ln -fs /www/server/mysql/bin/mysqlbinlog /usr/bin 然后再执行find /....000087 是日志文件所在 /www/server/linshi/1233.sql 是要导出的位置 很快执行完毕,切换到相应目录后就会看到1233.sql文件,再导入数据库恢复吧 执行语句 sudo...并且binlog也是在一台服务器上切一般binlog的目录会在mysql安装目录下data文件下那么就可以直接进行恢复 这种情况可以直接在mysql执行命令 2、如果是只拿到了binlog文件,并且是线下的服务器需要先尝试数据正确后再导入生产的...tmp/mysql.sql 上面的情况也可能得到的sql不是想要的需要进行替换,那么如果数据量少手动替换@1@2就可以如果比较多建议使用开源工具mysql2binlog github地址:https:/...问题: binlog2sql sql 产生的sql 为空,错误的sql 找到了,生成sql 的时候为空,这是为什么呢 就是找到日志文件了,但是在生成sql 的时候,生成的sql 为空,有人遇到过吗

2.2K10

MySQL 执行语句分析

然后判断这个 sql 语句是否有语法错误,比如关键词是否正确等等,如果检查没问题就执行下一步。 接下来就是优化器进行确定执行方案,上面的 sql 语句可以有两种执行方案: a....,这就会引入日志模块,MySQL 自带的日志模块式 binlog(归档日志) ,所有的存储引擎都可以使用,我们常用的 InnoDB 引擎还自带了一个日志模块 redo log(重做日志),这里就以 InnoDB...log,此时 redo log 进入 prepare 状态,然后告诉执行器,执行完成了,随时可以提交 执行器收到通知后记录 binlog,然后调用引擎接口,提交 redo log 为提交状态 更新完成...binlog 是否完整,如果完整就提交 redo log, 不完整就回事务 这样就解决了数据一致性的问题。...原文链接:一条SQL语句MySQL中如何执行

2.5K10

MySQL事务部分-滚到指定保存点「建议收藏」

我们可以mysql事务处理过程中定义保存点(SAVEPOINT),然后滚到指定的保存点前的状态。 定义保存点,以及滚到指定保存点前状态的语法如下。...定义保存点—SAVEPOINT 保存点名; 滚到指定保存点—ROLLBACK TO SAVEPOINT 保存点名: 下面演示将向表user中连续插入3条数据,在插入第2条数据的后面定义一个保存点,最后看看能否滚到此保存点...| 3 | one | 0 | | | 4 | two | 0 | | | 5 | three | 0 | | +—–+———-+—–+——+ 5 rows in set (0.02 sec) 6、滚到保存点...3 | one | 0 | | | 4 | two | 0 | | +—–+———-+—–+——+ 4 rows in set (0.00 sec) 我们可以看到保存点...利用保存点可以实现只提交事务中部分处理的功能。

1.9K30

多线程事务怎么?说用 @Transactional 可以重开了

如果有一个线程执行失败,则全部。...2.在spring中可以使用@Transactional注解去控制事务,使出现异常时会进行,在多线程中,这个注解则不会生效,如果主线程需要先执行一些修改数据库的操作,当子线程在进行处理出现异常时,主线程修改的数据则不会...public void saveThread(List employeeDOList) { try { //先做删除操作,如果子线程出现异常,此操作不会...); }catch (Exception e){ e.printStackTrace(); } } } 测试结果: 图片 图片 可以发现子线程组执行时...,有一个线程执行失败,其他线程也会抛出异常,但是主线程中执行的删除操作,没有,Transactional注解没有生效。

1.4K10

MySQL】通过Binary Log简单实现数据(一)

前段时间,工作项目上出于对excel等批量操作可能出现误操作的问题,要求提供一个能够根据操作批次进行数据的能力。在开发的过程中接触到了MySQL的Binary Log,感觉有些收获,记录一下。...)出它的内容,就可以执行语句进行反向操作,对误操作的数据进行恢复。...四、binlog的解析原理以及GitHub上的开源解析工具 4.1 binlog的几种格式 要了解MySQL的解析原理,当然要从头到尾仔细阅读MySQL的开发手册,想了解的可以点这里。...记录了相对于操作的SQL语句,比如在控制台执行了DELETE FROM foo WHERE id = 1,那么在binlog上就会添加上这条语句。好处很明显:直观。...根据不同选项,你可以得到原始SQL、SQL、去除主键的INSERT SQL等。

1.4K110

MySQL 死锁后事务无法是真的吗?

MySQL 作为目前互联网企业使用最多的,或者说在基于成本下,最流行的数据库之一,MySQL 在国内使用者众多,那么在MySQL偶然安装后,在使用中出现死锁后,死锁中的事务到底能不能 ?...在发生死锁的情况下,会有事务部分提交的问题,从上面的图和文本可以看出,A 事务中,插入数据和对数据第一行的修改,均生效了,而按照数据库的事务部分的既定原理,这是不可以的,事务要么,要么全部执行。...当然事务不完全对于使用者本身是不是一个问题,具体我们需要看业务的设定是不是允许或接受,如同MySQL 本身也在表设计时也不希望遵循 三范式一样。MySQL 是一个反传统的数据库产品。...经过我们的调整MySQL的参数后,MySQL 满足了我们传统的数据库对于事务中的要求,要么全,要么全不回。...A 和 B 事务代码,事务A 中的插入是没有生效的,从而证明MySQL 完全可以实现在死锁后死锁事务的全部

31741

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券