重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql命令行下怎样实现数据的回滚操作
你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事成都网站设计、网站制作、外贸营销网站建设、企业网站建设、成都手机网站制作、网页设计、品牌网站设计、网页制作、做网站、建网站。创新互联拥有实力坚强的技术研发团队及素养的视觉设计专才。
在MySQL有时执行了错误的update或者delete时导致大量数据错误恢复的办法。执行时没有开启事务,也没有对数据进行。这时就需要使用到sqlbinlog工具。
sqlbinlog需要开启,具体的打开方法就不说了。
使用sqlbinlog会产生bin文件,恢复就需要用到这些文件。文件中记录着数据库的所有操作。(此方法的操作是将数据库之前所执行的语句重新执行一次,以达到恢复效果)
具体步骤:1,先找到bin文件,一般都是在mysql的data文件夹中,结尾以.00000X等形式结束。
2,寻找需要还原的时间点 使用语句 mysqlbinlog 文件名 例(MySQLbinlog xxbin.000001)来查看内容,然后找到对应的具体时间
3,导出sql语句,使用语句 mysqlbinlog 文件名sql文件路径 例(mysqlbinlog xxxbin,00001a.sql | mysql -u root -p )
如果需要指定时间导出--start--date -stop='' --date='' 来导出指定时间执行的语句例(sqlbinlog --start-stop='2015-11-22 10:00:00' xxbin.000001a.sql | mysql -u root -p )这句意思是导出在2015-11-22 10点之前的语句,反之start是导出时间之后的。 start和stop可以同时使用。
如果存在多个bin文件,则按照需要导出。
4,使用mysql将导出的语句执行一次。
mysql有好几种日志,通常日志,查询缓慢日志,错误日志,默认只有错误日志是开启的,通常日志如果开启会消耗大量系统资源,而且查看也是非常不容易。如果想看哪里出错的话,查询错误日志就可以。通常会在data文件夹下面,服务器名称.err就是日志
首先打开CMD,连接上数据库
然后,我们会发现MySQL日志位是指定的,在/etc/my.cnf中怎么也改不了
chkconfig --list发现是chkconfig on指定的,天是
vim /etc/init.d/mysqld得知这里的已经配置
步骤阅读
4
更改到这里就可以了~
CMD下运行以下命令:
net stop 服务名
net start 服务名
备注:服务名 通常默认为:MySQL
即:
net stop mysql
net start mysql
备注:
查看服务名的方式:
在桌面-右键“计算机“-选择"管理”-选择”服务和应用程序“-”服务": 在服务到找到名称与Mysql相应的,一般情况下应该就是Mysql Server的服务名了。如Mysql56等。
想要关闭与打开服务,一般情况下要求cmd是“以管理员的形式打开的”
在Windows系统下,对mysql的my.ini的log-bin等进行配置目录位置时,假设要将log-bin的日志配置到D盘的mysqllog的文件为binlog。则可以如下配置 :
[mysqld]
log-bin="D:\mysqllog/binlog" 注意:在这里的最后一个路径采用的是"/"而不是Windows文件系统的“\"
修改my.cnf,在[mysqld]段加入log-bin重启mysql服务后,你的操作会在数据库的目录中生成一些mysqld.bin.000001文件,这些就是操作日志。你的对数据的操作,如创建表格,插入,删除等,都会被记录进去。这个功能还被用于双机数据库热备份。