背景:在B机器倒A机器的sql某个库的所有数到B机器的sql库
命令:mysqldump -hA -usiteA -psiteA databaseX > databaseX.sql
报错信息:Access denied for user 'siteA'@'%' to database 'databaseX' when using LOCK TABLES
报错解释:这个报错的意思是说siteA这个用户没有锁表的权限,也就是说在dump的时候用到了锁表
解决方法:修改用户权限;在我不想修改权限的情况下,可以简单使用--single-transaction参数解决,因为使用此参数时不会锁表,即这个参数和--lock-tables参数是互斥的
然后使用命令:mysql -hB -usiteB -psiteB databaseX < databaseX.sql
此时可能会报错说, Unknown database 'databaseX' when selecting the database,需要先在数据库建立这个库,create database databaseX即可