我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql字符集修改

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql字符集修改

本实验的环境:

linux系统:

cat /etc/redhat-release 

CentOS release 6.5 (Final)

数据库环境(源码编译,多实例):

select version();

+------------+

| version() |

+------------+

| 5.5.32-log |

+------------+

模拟的是将latin1字符集数据库修改UTF-8字符集的数据库的过程

创建latin1字符集的数据库:

mysql> create database anguo default character set = latin1 default collate = latin1_swedish_ci;

Query OK, 1 row affected (0.00 sec)

创建latin1字符集的表:

create table student(id int(4) not null auto_increment,name varchar(20),primary key(id)) default character set = latin1 default collate = latin1_swedish_ci;

set names latin1;

insert into student(name) values('zhang'),('he'),('hou'),('liu'),('安果'),('张三');

修改步骤:

1)导出表结构

mysqldump -uroot -pmysql -S /data/3306/mysql.sock --default-character=utf8 -d anguo>/data/backup/createanguo.sql

其中 –default-character=utf8表示设置以什么字符集连接,-d表示只导出表结构不导出数据

2)手工修改createoldboy.sql中表结构定义的字符集为新的字符集

sed -i 's/latin1/utf8/g' /data/backup/createanguo.sql

注意:批量替换的时候确保相关字段里面没有latin1相关的字符。

3)确保记录不再更新,导出所有记录

mysqldump -uroot -pmysql -S /data/3306/mysql.sock --quick --no-create-info --extended-insert --default-character-set=latin1 anguo >/data/backup/dataanguo.sql

--quick:该选项用于转储大的表,它前置mysqldump从服务器一次一行地检索表中的行而不是检索所有行,并在输出前将它缓存到内存中

--extended-insert: 使用包括几个values列表的多行insert语法,这样使转储文件更小,重载文件时可以快速插入

--no-create-info:不到出每个转储表的create table语句

--default-character-set=latin1: 按照原有的字符集导出所有数据,这样导出的文件中,所有中文都是可见的,不会保存成乱码

4)打开dataanguo.sql,将set names latin1修改成set names utf8

sed -i 's/latin1/utf8/g' /data/backup/dataanguo.sql

注意:批量替换的时候确保相关字段里面没有latin1相关的字符。

5)使用新的字符集创建数据库

create database anguo default character set = utf8 default collate = utf8_general_ci;     

6)创建表,执行createoldboy.sql

mysql -uroot -pmysql -S /data/3306/mysql.sock anguo < /data/backup/createanguo.sql

7)导入数据,执行初始化

mysql -uroot -pmysql -S /data/3306/mysql.sock anguo < /data/backup/dataanguo.sql

注:部分内容参考深入浅出MySQL数据库开发、优化与管理维护

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql字符集修改

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何修改MySQL字符集

一、查看MySQL的字符集show variables like '%char%'; 二、修改MySQL配置文件 不是安装目录,是数据目录。 我是用sublime打开的。进去之后,在三个地方增加配置。 第一个:[client]default
2022-05-26

linux下mysql字符集如何修改

这篇文章主要讲解了“linux下mysql字符集如何修改”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下mysql字符集如何修改”吧!修改方法:1、打开并编辑“my.cnf”文件;
2023-06-22

RAC修改字符集

字符集修改做过几次了,这次感觉还是有点不顺,走了弯路,再记一遍【概况】准备搭建RAC+RAC DG,发现两端字符集不大一致,担心到时出问题。【目标】将备库NLS_NCHAR_CHARACTERSET修改成与主库一致。--备NLS_NCHAR_CHARACTER
2017-09-21

如何在 MySQL 中修改数据库的字符集?(mysql怎么修改数据库的字符集)

在MySQL数据库中,修改数据库的字符集是一个常见的操作,它对于正确处理和存储各种字符数据非常重要。以下是详细的步骤来修改MySQL数据库的字符集:一、备份数据库在进行任何数据库修改操作之前,务必备份数据库是非常重要的,
如何在 MySQL 中修改数据库的字符集?(mysql怎么修改数据库的字符集)
2024-12-13

修改mysql默认字符集的方法

要修改MySQL的默认字符集,可以采取以下方法:1. 在MySQL配置文件中修改:- 打开MySQL的配置文件(通常是my.cnf或my.ini)。- 找到[mysqld]部分。- 添加或修改以下行:```[mysqld]character
2023-09-22

MySQL修改字符集的实战教程

前言: 在 MySQL 中,系统支持诸多字符集,不同字符集之间也略有区别。目前最常用的字符集应该是 utf8 和 utf8mb4 了,相比于 utf8 ,utf8mb4 支持存储 emoji 表情,使用范围更广。本篇文章将会介绍 utf8
2022-05-27

编程热搜

目录