如何更改生产MySQL数据库库表的字符集

以前学习mysql的时候,实验的笔记,今天整理的时候看到了,所以记录下,备忘

1、导出表结构

mysqldump -uroot -predhat12345 -S /data/3306/mysql.sock --default-character-set=latin1 -d kitty>kittytable.sql

说明:-d只导表结构

2、编辑kittytable.sql,将lantin1改成utf8

可以用sed批量修改

3、确保数据库不再更新,导出所有数据

mysqldump -uroot -predhat12345 -S /data/3306/mysql.sock --quick --no-create-info --extended-insert --default-character-set=latin1 kitty>kittydata.sql

4、打开kittydata.sql,将set names latin1修改成set names utf8

5、删除原有的库表及数据(需要慎重)

6、建库

create database kitty default charset utf8;

7、创建表,执行kittytable.sql

mysql -uroot -predhat12345 -S /data/3306/mysql.sock kitty<kittytable.sql

8、导入数据

mysql -uroot -predhat12345 -S /data/3306/mysql.sock kitty<kittydata.sql

时间: 2024-10-13 08:00:20

如何更改生产MySQL数据库库表的字符集的相关文章

MySQL之对数据库库表的字符集的更改

数据字符集修改步骤: 对于已有的数据库想修改字符集不能直接通过 "alter database character set *"或 "alter table tablename character set *",这两个命令都没有更新已有记录的字符集,而只是对新创建的表或者记录生效. 已经有记录的字符集的调整,必须先将数据导出,经过修改字符集后重新导入后才可完成. 修改数据库默认编码: alter database [your db name] charset [yo

修改数据库库表的字符集

数据字符集修改步骤 对应已经存在的数据库想修改字符集,不能直接通过"alter database character set *" 或者"alter table tablename character set *" ,这两个命令都没有更新已有记录的字符集,而只是对新创建的表或者记录生效. 已经有记录的字符集的调整,必须想将数据导出,经过修改字符集后重新导入才能完成 修改数据库默认编码 alter database 数据库名称 charset 字符集名称 alter

linux mysql 数据按表名称备份

1.按表名称备份 #!/bin/bash #user #数据库用户 dbuser="root" #数据库密码 dbpassword="chenyong" #时间 date=$(date +%Y%m%d) #数据库名称 dbname=sungrowv3 #备份数据保存的路劲 url=/home/test/sql/ #指定数据库的所以表 tables=$(mysql -u$dbuser -p$dbpassword -ss -e "use $dbname;sho

根据已有MySQL数据库库反向生成实体类

最近在维护一个网站,打算进行一些改进,使用Entity Framework来进行数据库操作. 网站的数据库已经有了,但是又一百多张表,手动去写实体类有些麻烦,打算用一些现成工具来做. 首先可以考虑用EntityFramework Reverse POCO Code First Generator 其次也可以用Entity Framework Power Tools,下载地址 https://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-

利用orm对数据库库表的相关操作

方式一: # create方法的返回值book_obj就是插入book表中的python葵花宝典这本书籍纪录对象   book_obj=Book.objects.create(title="python葵花宝典",state=True,price=100,publish="苹果出版社",pub_date="2012-12-12") 方式二: book_obj=Book(title="python葵花宝典",state=True

从云主机ECS登录MySql数据库库mysql -h rm-wz9lp7a734h99y0s5yo.mysql.rds.aliyuncs.com -u hiadmin -p mysql

mysql -h rm-wz9lp7a734h99y0s5yo.mysql.rds.aliyuncs.com -u hiadmin -p mysql 黑体部分是我的数据库网址,下划线部分是我的数据库高级用户用户名: 原文地址:https://www.cnblogs.com/braveheart007/p/10992218.html

Mysql数据库,表,字符集,主外键等创建的sql模板

##如果存在同名的数据库,删除此同名的数据库. DROP DATABASE IF EXISTS cfms; ##如果不存在字符集为utf8的cfms这个数据库,那么就创建 CREATE DATABASE IF NOT EXISTS cfms CHARACTER SET utf8; ##第一次时表示使用此数据库 USE cfms; ##如果存在users这个表了,就删除重新创建 DROP TABLE IF EXISTS cfms.users;               ##如果存在要创建的数据库

mysql更改已有数据表的字符集,保留原有数据内容

mysql更改已有数据表的字符集,保留原有数据内容     原文网址:http://blog.csdn.net/learn_2/article/details/6460370 环境:在应用开始阶段没有正确的设置字符集,在运行一段时间以后才发现存在不能满足需求需要调整,又不想丢弃这段时间的数据,那么就需要进行字符集的修改.字符集的修改不能直接通过"alter database character set *** " 或者 "alter table tablename chara

mysql 字符集更改与导入数据

mysql 字符集更改与导入数据 mysqldb经常有中文乱码的问题,解决起来很恼火.其实所有开发和数据库统一为一种编码就可以了: utf8. 1 下面修改mysql的编码 1) 永久修改. 在/etc/mysql/my.cnf中添加下面二行: [client] ... default-character-set=utf8 ... [mysqld] ... character-set-server=utf8 ... 重启服务,然后登录看看: $ sudo /etc/init.d/mysql re