【linux命令】mysqldump: Got error: 1044: Access denied for user ‘xxx’@’localhost’
内容摘要
初次开始写mysql备份脚本的朋友,相信你们都遇到该报错:
mysqldump: Got error: 1044: Access denied for user ‘xxx’@’localhost‘ to database R
mysqldump: Got error: 1044: Access denied for user ‘xxx’@’localhost‘ to database R
文章正文
初次开始写mysql备份脚本的朋友,相信你们都遇到该报错:
mysqldump: Got error: 1044: Access denied for user ‘xxx’@’localhost‘ to database ‘xxx’ when using LOCK TABLES
解决办法:数据库名后边添加–skip-lock-tables
mysqldump -uxxx -p123456 –skip-lock-tables –opt $i | gzip > /home/backup/$dateDIR/data/${i}_${dateDIR}.sql.gz
分析:
mysqldump: Got error: 1044: Access denied for user ‘xxx’@’localhost’ to xxx’information_schema’ when using LOCK TABLES
那可能是你用来备份的数据库用户没有lock table的权限,可以换一个权限更高的用户,比如使用root(安全角度最好不要用这个用户,避免非服务器超管人员获取root密码),或者使用mysqldump的另一个选项:–single-transaction
mysqldump -uxxx -p123456 –default-character-set=utf8 –single-transaction –opt $i | gzip > /backup/$dateDIR/data/${i}_${dateDIR}.sql.gz
代码注释
[!--zhushi--]