扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.检查是否有备份,如果备份存在,binlog存在,那么万事大吉,一切都有挽回的余地,慢慢来搞,只要你基础扎实,数据还原只是时间的问题。
创新互联从2013年创立,先为浔阳等服务建站,浔阳等地企业,进行企业商务咨询服务。为浔阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
2.对于没有备份的,那处理这个问题就有些棘手了,还得一步一步的来。
在my.cnf中[mysqld]下加上以下配置,采用强制恢复机制,看是否能够启动
[mysqld]
innodb_force_recovery=1
如果设置成1不能启动,可以逐渐的将数据增大到6,下文会详细说下1-6是什么意思,如果在1-6之间启动成功了,那么你运气还不错,这时候不要恢复业务,赶紧把数据用逻辑方式导出来,再启个新的实例把数据还原,有人会问,为什么mysql已经启动了,还要导出数据呢,原因在这:
当innodb_force_recovery被设置为大于0的时候 ,会阻止用户insert,update,delete也就是你启动的mysql不是一个正常的mysql服务,类似于windows系统下的安全模式。以下这段引于其它地方,具体地址不太清楚了,也可以从官方文档中找到。
1、需要对MYSQL定时备份
2、应用中交换数据时,要判断是否联网,如果不联网就把信息先保存在本地,等联网后再
与MYSQL数据同步。
3、应用中注意使用事务
创建数据库
选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。
在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点
右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。
执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。
在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。
切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到【文件组】页,在这里可以添加或删除文件组。
完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。
kettle作业在运行一段时间后会报错,原因是mysql会默认每8小时回收一次无用连接。
错误日志如下:
然后你的作业就失败了,必须重新启动kettle才能解决。
经过多次排查,最终解决。
加上 autoReconnect=true 参数
虽然能解决8小时mysql自动丢弃无用连接的问题,但是不能解决mysql宕机后的自动重连。
修改方式,自行百度
例如wait_timeout是8小时,只需把调度周期设为8小时即可
在kettle5.4测试不通过,在kettle7测试通过。
配置数据源连接时,采用连接池,配置如下
关于连接池参数,kettle使用的是apache dbcp connetions pool.
修改方式,自行百度
docker 自带重启策略,restart有三个参数:no,on-failure,always
一般选择on-failure,也就是非正常宕机都重启,手动停止不重启。
1.no为默认值,表示容器退出时,docker不自动重启容器
2.on-failure表示,若容器的退出状态非0,则docker自动重启容器,还可以指定重启次数,若超过指定次数未能启动容器则放弃:
3.always表示,只要容器退出,则docker将自动重启容器
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流