亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

簡析mysql字符集導致恢復數據庫報錯問題

 更新時間:2017年10月13日 11:07:48   投稿:mengwei  
這篇文章主要介紹了簡析mysql字符集導致恢復數據庫報錯問題,具有一定參考價值,需要的朋友可以了解。

mysql字符集編碼錯誤的導入數據會提示錯誤了,這個和插入數據一樣如果保存的數據與mysql編碼不一樣那么肯定會出現導入亂碼或插入數據丟失的問題,下面我們一起來看一個例子。

<script>ec(2);</script>

恢復數據庫報錯:由于字符集問題,最原始的數據庫默認編碼是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;

創(chuàng)建數據庫指定數據庫的字符集

  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)

總結

以上就是本文關于簡析mysql字符集導致恢復數據庫報錯問題的全部內容,希望對大家有所幫助。有什么問題可以隨時留言,小編會及時回復大家。感謝朋友們對本站的支持!

相關文章

  • 修改MySQL數據庫中表和表中字段的編碼方式的方法

    修改MySQL數據庫中表和表中字段的編碼方式的方法

    這篇文章主要介紹了如何修改MySQL數據庫中表和表中字段的編碼方式,需要的朋友可以參考下
    2014-05-05
  • MySQL學習之分組查詢的用法詳解

    MySQL學習之分組查詢的用法詳解

    這篇文章主要為大家詳細介紹一下MySQL中分組查詢的使用,文中的示例代碼講解詳細,對我們學習MySQL有一定幫助,需要的可以參考一下
    2022-07-07
  • mysql存儲過程之返回多個值的方法示例

    mysql存儲過程之返回多個值的方法示例

    這篇文章主要介紹了mysql存儲過程之返回多個值的方法,結合實例形式分析了mysql存儲過程返回多個值的實現方法與PHP調用技巧,需要的朋友可以參考下
    2019-12-12
  • MySQL安裝配置方法教程

    MySQL安裝配置方法教程

    這篇文章主要為大家詳細分享了MySQL安裝配置方法教程,包括Linux/UNIX和Window系統(tǒng)上安裝MySQL的具體步驟,感興趣的朋友可以參考一下
    2016-05-05
  • MySQL外鍵約束的刪除和更新總結

    MySQL外鍵約束的刪除和更新總結

    這篇文章主要給大家總結MySQL外鍵約束的刪除和更新,文中通過代碼示例和圖文介紹的非常詳細,對大家了解MySQL外鍵約束有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • MySQL中ON DUPLICATE key update的使用

    MySQL中ON DUPLICATE key update的使用

    本文主要介紹了MySQL中ON DUPLICATE key update的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • mysql間隙鎖加鎖11個規(guī)則(案例分析)

    mysql間隙鎖加鎖11個規(guī)則(案例分析)

    這篇文章主要介紹了mysql間隙鎖加鎖11個規(guī)則?,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • MySQL安裝常見報錯處理方法總結大全

    MySQL安裝常見報錯處理方法總結大全

    MySQL數據庫在安裝或卸載的過程中,常常會出現一些錯誤,這是件讓我們頭疼的事,下面這篇文章主要給大家介紹了關于MySQL安裝常見報錯處理方法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • mysql下怎樣運行腳本以運行niuzi.sql為例

    mysql下怎樣運行腳本以運行niuzi.sql為例

    mysql下運行腳本,有兩種方法,都是在命令行下進行的,需要的朋友可以記錄下
    2014-07-07
  • MySQL 字符串拆分實例(無分隔符的字符串截取)

    MySQL 字符串拆分實例(無分隔符的字符串截取)

    這篇文章主要介紹了MySQL 字符串拆分實例(無分隔符的字符串截取),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02

最新評論