PHP&SQL/

使用mysqldump时发生的一些问题

发布
更新
字数
367
阅读
1 分钟

做个笔记,回头免得自己又忘记了.

之前一直使用sh脚本调用mysqldump对mysql上边的数据库进行备份.

如:

bash
more mysql_database_backup.sh
bash
#!/bin/sh

# 设置备份文件夹
t_dir="/data/db_backup"

# 设置备份文件名称
s_filename="mydatabase_$(date +%Y%m%d%H%M%S)"
# 使用backup_user用户对数据库进行备份,需要注意的是backup_user最少需要数据库的select及lock table权限
/usr/local/bin/mysqldump --opt -ubackup_user -pbackupuserpassword mydatabase >$t_dir/$s_filename.bak
/usr/bin/tar -czvf $t_dir/$s_filename.tar.gz $t_dir/$s_filename.bak
rm $t_dir/$s_filename.bak

今晚对另外一个数据库进行同样备份的时候,提示备份用户没有Lock Table的权限,经过仔细检查,确认是有这个权限.然后又试着给这个用户赋予所有权限.还是不行,提示说某某视图中某某用户不存在.印象中这个数据库没有用到视图啊…后来在网上查了一下,看到了这个文章:
http://hi.baidu.com/jppnroqjgrbfjqd/item/5d219517179ad6797b5f251a

怀疑是之前通过sql文件导入生成的数据库中有一些之前用脚本定义的definer之类的东东.干脆找到那个视图,删除.然后再执行备份命令,就OK了.

评论

正在载入评论…

留下评论

人机验证
四位数字,看不清可点击图片刷新

评论经审核后显示。

回到顶部 ↑