• 记 一次mysql 数据迁移


    一.数据备份

      进入 mysql 执行文件目录(根据实际进行切换)

        cd /usr/local/mysql/bin/

      1.仅备份数据表结构

        1)指定数据表备份表结构

          mysqldump  -u    root  -p    -d    {数据库名称}  {表名称1}  {表名称2}  >  dump.sql          

        2)备份所有数据表的表结构

          mysqldump   -u   root   -p   -d    {数据库名称}   >    dump.sql

        3)备份多个数据库的的表结构

          mysqldump   -u    root   -p   -d    --databases   {数据库名称1}  {数据库名称2}   >   dump.sql

        4)备份所有数据库的表结构

          mysqldump   -u    root   -p   -d     --all-databases   >    dump.sql

      2.同时备份表结构和数据

        将上面的命令    -d 参数去掉即可

      3.仅备份数据

        1)方法一,进入 mysql  客户端(mysql -u root -p),使用 select  sql语句

          select     [列名],[列名2](或者直接*)    from   {表名称} [where 语句]      into   outfile    {"目标文件名称,字符串"}     [options]

          参数   options   可选, 默认输出到  mysql  保存数据表文件的目录

        2)方法二,使用  mysqldump  命令

    二.数据还原

      1.还原结构/结构与数据同时还原(注意,原有数据表的表结构及数据会被覆盖清空)

        登录 mysql 客户端(mysql -u root -p),直接执行指令:

           source {备份文件的路径}

      2.插入仅备份了数据的备份文件(注意:备份数据中是否和现有数据表中的数据冲突,如 id 等)

        登录 mysql 客户端(mysql -u root -p):

          load  data  [local]  in file  {备份文件路径]  into  table  {数据表名称}   [options]

          参数 local: 如果使用本地备份文件

          参数 options: 可选

    注意:

      1.在进行备份操作时,遇到了如下异常

        MySQL server is running with the --secure-file-priv option so it cannot execute this statement

        原始是MySQL限制了导入与导出的目录权限,只能在规定的目录下才能操作,使用sql语句  "  show variables like '%secure%';  "  查看  secure-file-priv 当前值。

        解决办法:

          在 配置文件的 [mysqld] 下,加入如下配置项:

            secure-file-priv  =  ""

          重启数据库,然后就可以在任何目录下操作了,或者指定目录

      2.由于本人配置的原因,进入 mysql 客户端时,需要进入 mysql 执行文件目录下,再执行指令,才能正常进入客户端

  • 相关阅读:
    恼人的CON(转)
    CINRAD/SB 多普勒天气雷达
    如何将两个栅格数据图层求和并求并集
    javascript设置asp.net程序开始运行时ie最大化显示
    ArcGIS Engine中数据的加载(转载)
    发现了一个arcgis engine的一个bug
    带余除法
    第二数学归纳法
    concat和concat_ws()区别及MySQL的几个实用字符串函数
    oracle查询语句大全
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/12175435.html
Copyright © 2020-2023  润新知