zoukankan      html  css  js  c++  java
  • 【1.2】mysql迁移实践及注意事项

    【1】需求

    数据迁移,2个库迁移到新的实例上去;

    思路:

      按道理直接 mysqldump 导入导出就好了啊;

      但实际上还有许多要考虑的事情;

    【2】迁移步骤

    【2.1】导出

    (1)字符集与引擎问题

    select table_schema,table_name,TABLE_COLLATION,ENGINE 
    from information_schema.tables 
    where table_schema='webshop' ;

    (2)mysqldump 参数问题

    mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --flush-privileges  
    --master-data=2 --flush-logs --triggers --routines --events --hex-blob --lock-tables
    --max_allowed_packet=67108864 --B webshop > webshop_`date +%Y%m%d`.sql

    1)GTID问题:--set-gtid-purged=OFF     2)binlog问题:--master-data=2

    3)MYISAM引擎问题:--lock-tables   4)字符集问题:--default-character-set=utf8  ,这个要根据 (1) 中的情况对应导入导出

    5)是否有drop database ifexists:-B 这个要注意看导出的文件,一般没有,但也怕有些版本会出现这个,把现有数据库删掉那就尴尬了;

    【2.2】还原、导入

    mysql --default-character-set=latin1  quanqingsanguo < test_latin_20210713.sql  
    mysql --default-character-set=utf8  quanqingsanguo < test_utf8_20210713.sql  

    还原也要注意字符集,根据导出的sql 文件字符集,导入时也要指定字符集,这样才能最大限度的保障数据一致性和字符集一致性

  • 相关阅读:
    k8s 集群节点重启后etcd Unhealthy 解决
    no matches for kind “Deployment” in version "extensions/v1beta1 问题解决
    go web 读书笔记 (go 与 web 应用)
    Linux设置ssh超时时间
    C++中继承方式
    C++中类中范围解析运算符::和点运算符(.)
    C++ 中类与结构体的区别
    C++中. 与 -> 运算符的区别
    C++之字符串
    C++之数组
  • 原文地址:https://www.cnblogs.com/gered/p/15011403.html
Copyright © 2011-2022 走看看