zoukankan      html  css  js  c++  java
  • 导入wordpress数据库到mysql报错

    mysql字符集编码错误的导入数据会提示错误了,这个和插入数据一样如果保存的数据与mysql编码不一样那么肯定会出现导入乱码或插入数据丢失的问题,下面我们一起来看一个例子。
    恢复数据库报错:由于字符集问题,最原始的数据库默认编码是latin1,新备份的数据库的编码是utf8,因此导致恢复错误。
    [root@hk byrd]# /usr/local/mysql/bin/mysql -uroot -p'admin' t4x < /tmp/11x-B-2014-06-18.sql 
    ERROR 1064 (42000) at line 292: 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 ''[caption id="attachment_271" align="aligncenter" width="300"]<a href="ht' at line 1
    修复方法(未实测):
    [root@Test ~]# /usr/local/mysql/bin/mysql -uroot -p'admin' --default-character-set=latin1 t4x < /tmp/11x-B-2014-06-18.sql 
    MySQL
    -- MySQL dump 10.13  Distrib 5.5.37, for Linux (x86_64)
    --
    -- Host: localhost    Database: t4x
    -- ------------------------------------------------------
    -- Server version       5.5.37-log
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE=' 00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
     
    --
    -- Current Database: `t4x`
    --
     
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `t4x` /*!40100 DEFAULT CHARACTER SET utf8 */;
    --
    -- Table structure for table `wp_baidusubmit_sitemap`
    --
     
    DROP TABLE IF EXISTS `wp_baidusubmit_sitemap`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `wp_baidusubmit_sitemap` (
      `sid` int(11) NOT NULL AUTO_INCREMENT,
      `url` varchar(255) NOT NULL DEFAULT '',
      `type` tinyint(4) NOT NULL,
      `create_time` int(10) NOT NULL DEFAULT '0',
      `start` int(11) DEFAULT '0',
      `end` int(11) DEFAULT '0',
      `item_count` int(10) unsigned DEFAULT '0',
      `file_size` int(10) unsigned DEFAULT '0',
      `lost_time` int(10) unsigned DEFAULT '0',
      PRIMARY KEY (`sid`),
      KEY `start` (`start`),
      KEY `end` (`end`)
    ) ENGINE=MyISAM AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
    /*!40101 SET character_set_client = @saved_cs_client */;
    0
    1
    [root@hk byrd]# /usr/local/mysql/bin/mysql -uroot -p'admin' t4x < /tmp/t4x-B-2014-06-17.sql 
    ERROR 1064 (42000) at line 295: 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 ''i' at line 1
    MySQL
    -- MySQL dump 10.11
    --
    -- Host: localhost    Database: t4x
    -- ------------------------------------------------------
    -- Server version       5.0.95-log
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE=' 00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
        
    --  
    -- Current Database: `t4x`
    --
        
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `t4x` /*!40100 DEFAULT CHARACTER SET latin1 */;
        
    USE `t4x`;
    --
    -- Table structure for table `wp_baidusubmit_sitemap`
    --
     
    DROP TABLE IF EXISTS `wp_baidusubmit_sitemap`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `wp_baidusubmit_sitemap` (
      `sid` int(11) NOT NULL auto_increment,
      `url` varchar(255) NOT NULL default '',
      `type` tinyint(4) NOT NULL,
      `create_time` int(10) NOT NULL default '0',
      `start` int(11) default '0',
      `end` int(11) default '0',
      `item_count` int(10) unsigned default '0',
      `file_size` int(10) unsigned default '0',
      `lost_time` int(10) unsigned default '0',
      PRIMARY KEY  (`sid`),
      KEY `start` (`start`),
      KEY `end` (`end`)
    ) ENGINE=MyISAM AUTO_INCREMENT=83 DEFAULT CHARSET=utf8;
    /*!40101 SET character_set_client = @saved_cs_client */;
    字符集相关:
    MySQL
    mysql>show variables like '%character_set%';
    -------------------------- ---------------------------- 
    | Variable_name            | Value                      |
    -------------------------- ---------------------------- 
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    -------------------------- ---------------------------- 
     
    mysql>set names gbk;
     
    mysql>show variables like '%character_set%';
    -------------------------- ---------------------------- 
    | Variable_name            | Value                      |
    -------------------------- ---------------------------- 
    | character_set_client     | gbk                        |
    | character_set_connection | gbk                        |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | gbk                        |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    -------------------------- ---------------------------- 
     
    mysql>system cat /etc/my.cnf | grep default    #客户端设置字符集client下面 
    default-character-set=gbk
     
    mysql>show variables like '%character_set%';
     
    -------------------------- ---------------------------- 
    | Variable_name            | Value                      |
    -------------------------- ---------------------------- 
    | character_set_client     | gbk                        |
    | character_set_connection | gbk                        |
    | character_set_database   | latin1                     |
    | character_set_filesystem | binary                     |
    | character_set_results    | gbk                        |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    -------------------------- ---------------------------- 
     
    mysql> system cat /etc/my.cnf|grep character-set-server    #客户端设置字符集mysqld下面 
    character-set-server = cp1250 
    mysql> show variables like '%character_set%';
    -------------------------- -------------------------------------------- 
    | Variable_name            | Value                                      |
    -------------------------- -------------------------------------------- 
    | character_set_client     | utf8                                       |
    | character_set_connection | utf8                                       |
    | character_set_database   | cp1250                                     |
    | character_set_filesystem | binary                                     |
    | character_set_results    | utf8                                       |
    | character_set_server     | cp1250                                     |
    | character_set_system     | utf8                                       |
    | character_sets_dir       | /byrd/service/mysql/5.6.26/share/charsets/ |
    -------------------------- -------------------------------------------- 
    8 rows in set (0.00 sec)
    其他的一些设置方法:
    修改数据库的字符集
        mysql>use mydb
        mysql>alter database mydb character set utf-8;
    创建数据库指定数据库的字符集
        mysql>create database mydb character set utf-8;
    通过配置文件修改:
    修改/var/lib/mysql/mydb/db.opt
    default-character-set=latin1
    default-collation=latin1_swedish_ci
    default-character-set=utf8
    default-collation=utf8_general_ci
    重起MySQL:
    [root@bogon ~]# /etc/rc.d/init.d/mysql restart
    通过MySQL命令行修改:
    mysql> set character_set_client=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_connection=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_database=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_results=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_server=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_system=utf8;
    Query OK, 0 rows affected (0.01 sec)
    mysql> set collation_connection=utf8;
    Query OK, 0 rows affected (0.01 sec)
    mysql> set collation_database=utf8;
    Query OK, 0 rows affected (0.01 sec)
    mysql> set collation_server=utf8;
    Query OK, 0 rows affected (0.01 sec)
    查看:
    mysql> show variables like 'character_set_%';
    -------------------------- ---------------------------- 
    | Variable_name             | Value                       |
    -------------------------- ---------------------------- 
    | character_set_client      | utf8                        |
    | character_set_connection | utf8                        |
    | character_set_database    | utf8                        |
    | character_set_filesystem | binary                      |
    | character_set_results     | utf8                        |
    | character_set_server      | utf8                        |
    | character_set_system      | utf8                        |
    | character_sets_dir        | /usr/share/mysql/charsets/ |
    -------------------------- ---------------------------- 
    8 rows in set (0.03 sec)
    mysql> show variables like 'collation_%';
    ---------------------- ----------------- 
    | Variable_name         | Value            |
    ---------------------- ----------------- 
    | collation_connection | utf8_general_ci |
    | collation_database    | utf8_general_ci |
    | collation_server      | utf8_general_ci |
    ---------------------- ----------------- 
    3 rows in set (0.04 sec)
  • 相关阅读:
    UVA 11488 Hyper Prefix Sets (字典树)
    UVALive 3295 Counting Triangles
    POJ 2752 Seek the Name, Seek the Fame (KMP)
    UVA 11584 Partitioning by Palindromes (字符串区间dp)
    UVA 11100 The Trip, 2007 (贪心)
    JXNU暑期选拔赛
    计蒜客---N的-2进制表示
    计蒜客---线段的总长
    计蒜客---最大质因数
    JustOj 2009: P1016 (dp)
  • 原文地址:https://www.cnblogs.com/ligao/p/8926729.html
Copyright © 2011-2022 走看看