mysql5.6从零开始学学习笔记之二(数据备份)

    xiaoxiao2022-08-06  9


    某平台价值19860元的编程课程资料免费领取【点我领取】


    1、数据备份的三种方法

    1.1 mysqldump

    在命令行下(此时不需要登录任何mysql账户)输入以下命令:

    mysqldump -u -user -h host -p dbname [tbname,[tbname]]>filename.sql

    其中,user为用户名,host为主机名,dbname为数据库名,tbname为表明(不指定的话默认备份所有表),filename为存储到硬盘上的文件名。 示例:

    mysqldump -u root -p testDb>D:/testDb.sql

    如果出现以下错误:

    mysqldump: [ERROR] unknown option '--no-beep'

    则需要修改备份语句为:

    mysqldump --no-defaults -u root -p testDb>D:/textDb.sql

    执行上述语句之后输入密码,则在对应的文件中可以看到该数据库的sql语句,其实质便是create和insert语句。 若是需要同时备份多个数据库,使用以下命令:

    mysqldump -u root -h host -p --datebases [dbname [dbname]]>filename.sql

    注意数据库之间使用空格隔开,而不是逗号 示例:

    mysqldump --no-defaults -u root -p --databases hibernate flower>D:/union.sql

    若是需要备份全部数据库,如下:

    mysqldump --no-defaults -u root -p --all-databases>D:/all.sql

    1.2 直接复制整个数据库目录

    这是直接复制data目录(windows平台)的文件,复制之前需要执行lock tables操作,接着执行flush tables操作,这样复制数据库目录中的文件时,允许其他客户继续查询表,需要flush tables来确保开始备份前将所有激活的索引写入硬盘。

    缺点: 1、不适用InnoDB引擎的表; 2、版本不兼容;

    1.3 mysqlhotcopy

    命令语法格式:

    mysqlhotcopy db_name1,db_name2 /path/to/new_directory

    缺点: 1、只能备份MyISAM类型的表; 2、不能移植到其他硬件或操作系统下。

    转载请注明原文地址: https://ju.6miu.com/read-1132093.html
    最新回复(0)