备份
备份单个数据库:
mysqldump -u root -h 127.0.0.1 -ppassport dbname > backdb.sql
备份多个数据库:
mysqldump -u root -h 127.0.0.1 -ppassport --databases dbname1, dbname2 > backdb.sql
备份数据库表:
mysqldump -u root -h 127.0.0.1 -ppassport dbname tbname1, tbname2 > backdb.sql
备份零碎中所有数据库:
(包含零碎数据库)
mysqldump -u root -h 127.0.0.1 -ppassport --lock-all-tables --all-databases > all.sql
复原
复原所有数据 办法 1:
(毛病 若数据中不存在对应数据库须要手动创立)
mysqldump -u root -ppassport -h 127.0.0.1 --all-databases < all.sql
复原所有数据 办法 2:
(举荐 长处复原所有数据)
mysqldump -u root -ppassport -h 127.0.0.1 --all-databases < all.sql
复原所有数据 办法 3:
(mysql 命令行)
mysql> source all.sql;
问题
问题 1
: 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 明码 数据库名 >test.sql