mysqldump: Got error: 1044: Access denied for user 'root'@'%' to database

 

错误情景】:导出远程数据库时报以下错误。

【错误信息】:mysqldump: Got error: 1044: Access denied for user 'root'@'%' to database 'hhh' when using LOCK TABLES

【报错原因】:mysqldump 命令执行时,需要四种权限,分别是:select,show view,trigger,lock table。但是因为没有lock table的权限,导致上述错误发生。

【修改方法】在mysqldump命令之后添加--single-transaction 即可。

示例:

mysqldump --single-transaction -hIP地址 -p3306 -uroot -p密码 数据库名>D:/hhh.sql
 

 

 

 

=====================-----------------================

https://blog.csdn.net/richardlygo/article/details/81638237(Mysql全量备份及增量备份)

 

备份:

mysqldump -uroot -p***  --single-transaction --databases exchange_buildlaw>/opt/exchange_buildlaw.sql

 

还原:

mysql -uroot -p*** -f exchange_buildlaw</opt/exchange_buildlaw.sql

 

 

-----------===========================----------------------------

1.禁用索引提高导入数据的性能

alter table test3 DISABLE keys;

insert into test3 select * from test;

alter table test3 ENABLE keys;

 

2.关闭唯一校验

set unique_checks=0   关闭 

set unique_checks=1   开启

 

3.修改事务提交方式(变多次提交为一次)

set  autocommit=0;

//批量插入

set  autocommit=1;

 

 

4.DML优化(变多次提交为一次)

insert into test3 values(1,2)

insert into test3 values(3,4)

insert into test3 values(1,2)(3,4)

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值