zoukankan      html  css  js  c++  java
  • mysql备份恢复中的常见错误

     

     
     

    从A主机备份到B主机

    mysqldump -uroot  -p vw>vw.sql

    现备份数据库文件,需要恢复到目标机B,B的数据库版本为5.5.23,A机器的mysql版本为5.0.22

    mysql>source /root/vw.sql;   
    ……………………………………………………   
    Query OK, 6748 rows affected (0.13 sec)    
    Records: 6748  Duplicates: 0  Warnings: 0    
    Query OK, 6807 rows affected (0.12 sec)    
    Records: 6807  Duplicates: 0  Warnings: 0    
    Query OK, 6752 rows affected (0.13 sec)    
    Records: 6752  Duplicates: 0  Warnings: 0    
    Query OK, 6659 rows affected (0.13 sec)    
    Records: 6659  Duplicates: 0  Warnings: 0    
    Query OK, 6676 rows affected (0.13 sec)    
    Records: 6676  Duplicates: 0  Warnings: 0    
    Query OK, 6583 rows affected (0.12 sec)    
    Records: 6583  Duplicates: 0  Warnings: 0    
    Query OK, 6598 rows affected (0.13 sec)    
    Records: 6598  Duplicates: 0  Warnings: 0    
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1    
    mysql>

    在B机器上面导入的时候出现以上错误,排除数据库本身问题,后来通过navicat工具备份A的数据,再次导入机器B却成功了。

    经过测试发现是字符集问题导致。解决办法如下

    在A机器上面备份,使用如下命令,恢复到B机器,测试OK。

    mysqldump -uroot --default-character-set=utf8  -p vw>vw.sql

    以下附mysql字符集查看以及修改命令,

    一、查看 MySQL 数据库服务器和数据库字符集

    mysql> show variables like '%char%';
    +--------------------------+----------------------------+    
    | Variable_name            | Value                      |    
    +--------------------------+----------------------------+    
    | character_set_client     | latin1                     |     
    | character_set_connection | latin1                     |     
    | character_set_database   | latin1                     |     
    | character_set_filesystem | binary                     |     
    | character_set_results    | latin1                     |     
    | character_set_server     | latin1                     |     
    | character_set_system     | utf8                       |     
    | character_sets_dir       | /usr/share/mysql/charsets/ |     
    +--------------------------+----------------------------+

    二、查看 MySQL 数据表(table) 的字符集。

    mysql> show full columns from s_type;       
    +---------+------------------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+    
    | Field   | Type                   | Collation       | Null | Key | Default | Extra          | Privileges                      | Comment |    
    +---------+------------------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+    
    | tid     | mediumint(10) unsigned | NULL            | NO   | PRI | NULL    | auto_increment | select,insert,update,references |         |     
    | tname   | varchar(125)           | utf8_general_ci | NO   | MUL | NULL    |                | select,insert,update,references |         |     
    | en-name | varchar(125)           | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references |         |     
    | type    | tinyint(3)             | NULL            | NO   |     | NULL    |                | select,insert,update,references |         |     
    +---------+------------------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
  • 相关阅读:
    [netty4][netty-buffer]netty之池化buffer
    [netty4][netty-transport]netty之nio传输层
    JMX基本概念
    《JVM G1源码分析和调优》读书笔记
    clients-producer-网络处理与请求响应对接部分
    clients-producer-组包发送消息
    kafka-clients 1.0 高阶API消费消息(未完)
    MetadataCache更新
    副本同步
    将.py文件装成这执行文件.exe
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5716196.html
Copyright © 2011-2022 走看看