shlwb0

1、单表,多表备份还原

mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql

2、备份单个数据库

mysqldump -u root -p bpms_4s_xkqx > d:\chenjiang.sql

3、备份多个数据 :加上了--databases选项,然后后面跟多个数据库

mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql

4、备份全部数据库

mysqldump -u username -p -all-databases > BackupName.sql

5、还原表sql都是一样的

 mysql -u username -p dbname < BackupName.sql -- default-character-set=utf8 (添加编码,不然可能报错)

6、复制data目录

这种方式对InnoDB存储引擎的表,需要进行处理(1)、保证两个数据库的版本号相同;

                                                                           (2)、找到此目录后,将待恢复数据库文件夹,ibdata1,my.ini文件拷贝到新的mysql对应目录下,并在my.ini任意位置添加iinnodb_file_per_table=6。(ibdata1,my.ini请备份),此时正常启动mysql,待恢复数据库可以访问。导出sql,恢复ibdata1,my.ini文件。

参考原文:http://blog.maptoface.com/post/18
————————————————

 

问题:(1)、root 通过命令备份所有数据库时可能报错

mysqldump: Got error: 1449: The user specified as a definer (\'admin\'@\'%\') does n
ot exist when using LOCK TABLES

检查两个问题:授权,可能表在使用状态,导出数据时报错,添加-x 命令

D:\Program Files\mysql-5.7.14-winx64\bin>mysqldump -u root -p -x --all-databases
> D:\back_20200122.sql

   (2)、

mysqldump: Couldn\'t execute \'SHOW FIELDS FROM `v_bpms_parts_allot_show`\': SELECT
command denied to user \'\'@\'%\' for column \'F_S_PARTS_ALLOT_ID\' in table \'bpms_pa
rts_allot_list\' (1143)

    可能是权限问题,也可能是没有这个用户,添加用户即可

分类:

技术点:

相关文章:

  • 2021-11-08
  • 2021-12-03
  • 2021-10-15
  • 2021-02-24
  • 2021-10-15
  • 2021-10-15
猜你喜欢
  • 2021-12-14
  • 2021-12-08
  • 2021-11-03
  • 2021-07-28
相关资源
相似解决方案