网站地图    收藏   

主页 > 后端 > mysql数据库 >

mysql备份问题 - mysql数据库栏目 - 自学php

来源:自学PHP网    时间:2015-04-16 10:51 作者: 阅读:

[导读] 在进行数据备份、恢复时,碰到的问题罗列如下:问题一:1 数据迁移异常,ubuntu下迁移完数据目录,数据库不能启动数据库默认使用mysql用户来启动数据库,请检查新迁移的数据目录,...

在进行数据备份、恢复时,碰到的问题罗列如下:

问题一:1.数据迁移异常,ubuntu下迁移完数据目录,数据库不能启动

数据库默认使用mysql用户来启动数据库,请检查新迁移的数据目录,mysql对其是否具有读写权限。如果没有,请授予其读写权限。如果是在ubuntu环境中使用apt-get命令安装的数据库,修要修改/etc/apparmor.d/usr.sbin.mysqld的内容,添加新增目录的相关信息。

问题二:2.flush log引发备份为空的问题

表现:使用mysqldump -uxxx -pxxxx --flush-logs --master-data=2 --hex-blob -R -f --all-databases 2>>$tmpfile时发现$tmpfile里面的内容是空的。
解决方法:是mysql版本问题,该版本存在此bug,mysql5.5.28已修复此bug。

问题三:3.mysqldump报error1449

使用mysqldump导出数据库的时候出现这个错误: mysqldump: Got error: 1449: The user specified as a definer ('jing'@'%') does not exist when using LOCK TABLES.
解决方法:数据库创建时使用的是脚本创建,里面对某些对象的定义,使用了definer。但数据库中是并不存在这个用户的,解决方法是,修改这些个对象的definer对象。

问题四:4.数据时,函数不能导入,数据导入后,执行计划不能定时执行

函数不能成功导入时,如果可以,关闭二进制日志,再导入函数。如二进制日志要求打开,设置:

log_bin_trust_function_creators=on;

数据导入后,保证执行计划定时执行,请设置:

event_scheduler=on

问题五:5.数据恢复时,报1114错误 the table is full

该表使用的是memory存储引擎,如果批量导入会因为数据库内存临时表设置过小而报错。增大内存临时表大小
set global max_heap_table_size=167772160;
set global tmp_table_size=167772160;

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论