mysql数据库备份命令(mysql数据库备份和还原工具)
各位老铁们好,相信很多人对mysql数据库备份命令都不是特别的了解,因此呢,今天就来为大家分享下关于mysql数据库备份命令以及mysql数据库备份和还原工具的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
mysql备份命令是什么
参考一下这个吧还原或者导入数据库命令:mysql-u root--password=root备份数据库命令:mysqldump-u root--password=root--database
helloworld>helloworld_backup.sql
其他用法:1.导出整个数据库
mysqldump-u用户名-p数据库名>导出的文件名
mysqldump-u wcnc-p smgp_apps_wcnc> wcnc.sql
2.导出一个表
mysqldump-u用户名-p数据库名表名>导出的文件名
mysqldump-u wcnc-p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
mysqldump-u wcnc-p-d--add-drop-table smgp_apps_wcnc>d:\wcnc_db.sql-d没有数据--add-drop-table在每个create语句之前增加一个drop table
4.导入数据库
常用source命令
进入mysql数据库控制台,
如mysql-u root-pmysql>use数据库然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:\wcnc_db.sql备份:
1. mysqldump-h 61.139.112.56-u root-p test>d:/test_db.2005-03-02.sql
2. mysqldump-h 61.139.112.56-u root-p test table1 table2>d:/test12.sql
3. mysqldump-h 61.139.112.56-u root-p test|gzip>d:/testz.gz恢复
1. mysql testdb<d:/test_db.2005-03-02.sql
mysql>source test_db.2005-03-02.sql
MySQL数据库备份和还原的常用命令
1.备份MySQL数据库的命令
mysqldump-hhostname-uusername-ppassworddatabasename>backupfile.sql
2.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump-_add-drop-table-uusername-ppassworddatabasename>backupfile.sql
3.直接将MySQL数据库压缩备份
mysqldump-hhostname-uusername-ppassworddatabasename|gzip>backupfile.sql.gz
4.备份MySQL数据库某个(些)表
mysqldump-hhostname-uusername-ppassworddatabasenamespecific_table1specific_table2>backupfile.sql
5.同时备份多个MySQL数据库
mysqldump-hhostname-uusername-ppassword_databasesdatabasename1databasename2databasename3>multibackupfile.sql
6.仅仅备份数据库结构
mysqldump_no-data_databasesdatabasename1databasename2databasename3>structurebackupfile.sql
7.备份服务器上所有数据库
mysqldump_all-databases>allbackupfile.sql
8.还原MySQL数据库的命令
mysql-hhostname-uusername-ppassworddatabasename<backupfile.sql
9.还原压缩的MySQL数据库
gunzip<backupfile.sql.gz|mysql-uusername-ppassworddatabasename
10.将数据库转移到新服务器
mysqldump-uusername-ppassworddatabasename|mysql_host=*.*.*.*-Cdatabasename
如何使用mysqldump命令备份mysql数据库
通用规律只有使用--all-databases(-A)会 ERROR 1356,那就看看他到底备份了什么东西。于是喊上同事一起 less看了下,上下扫了两眼。突然发现:1.备份 SQL文件里 DROP掉了 mysql.proc;2.后CREATE了一个新的 mysql.proc;3. LOCK TABLES和 UNLOCK TABLES中间居然没有备份 CREATE ROUTINE任何数据?这不就是相当于每次导入全备都给我一个没有任何 sys schema routines的全新 mysql.proc表?那这不就异常的尴尬?
---- Table structure for table `proc`--
---- Dumping data for table `proc`-
真相大白在官方文档【sys-schema-usage】官方文档明确的告诉我们不会备份 sys库。但在使用 mysqldump在执行--all-databases会清空 mysql.proc导致 sys无法正常使用;这是一个 BUG,并且只存在于 MySQL 5.7.x!
1、mysql_upgrade install or upgrade sys schema
这个方案适用于 sys库已经因为 mysqldump导入而损坏的情况下使用。
注意:mysql_upgrade在修理 sys库的同时,还修理 mysql库和用户库表(期间加锁且速度一般),有极小可能会误伤;使用 mysql_upgrade的时候要加上--upgrade-system-tables,不然会扫描用户库表。
2、全备时同时备份 sys库
这个方案适用于需要还原的数据库,sys库也不太正常的情况下使用;在全备后额外再备份一份 sys库用于修复。
注意:不适用于做主从时使用它。
3、使用 databases全备
这个方案适用于所有场景的全备需求,100%安全。
4、使用 mysql-sys开源代码
如果你的数据库 sys全部中招了,又是生产库。那你只能用这个方法;
mysql-sys:
中记录了 sys库的创建语句将文件下载到本地,然后根据数据库版本,执行以下命令即可。
好了,关于mysql数据库备份命令和mysql数据库备份和还原工具的问题到这里结束啦,希望可以解决您的问题哈!