返回顶部
首页 > 资讯 > 数据库 >MySQL8批量修改字符集脚本怎么写
  • 211
分享到

MySQL8批量修改字符集脚本怎么写

mysql 2023-03-31 15:03:32 211人浏览 独家记忆
摘要

这篇“Mysql8批量修改字符集脚本怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“m

这篇“Mysql8批量修改字符集脚本怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql8批量修改字符集脚本怎么写”文章吧。

从低版本迁移到Mysql 8后,可能由于字符集问题出现 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) 错误,此时要修改对象的字符集。

1. 批量修改库字符集

change_database_characset.sql

select concat('alter database ',schema_name,' default character set utf8mb4 collate utf8mb4_0900_ai_ci;') 
  from infORMation_schema.schemata 
 where schema_name not in ('sys','mysql','performance_schema','information_schema') 
   and lower(default_collation_name) in ('utf8mb4_general_ci','utf8_general_ci');

调用:

/home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql -uroot -h20.0.0.18 -P3306 -p70n6w+1XklMu -N < change_database_characset.sql > change_database_characset_result.sql
/home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql -uroot -h20.0.0.18 -P3306 -p70n6w+1XklMu -f < change_database_characset_result.sql > change_database_characset_result.out 2>&1

2. 批量修改表字符集

change_table_characset.sql

select concat('alter table ',table_schema,'.',table_name,' default character set utf8mb4 collate = utf8mb4_0900_ai_ci;') 
  from information_schema.tables where table_schema not in ('sys','mysql','performance_schema','information_schema') 
   and table_type='BASE TABLE' and lower(table_collation) in ('utf8mb4_general_ci','utf8_general_ci');

调用:

/home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql -uroot -h20.0.0.18 -P3306 -p70n6w+1XklMu -N < change_table_characset.sql > change_table_characset_result.sql
/home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql -uroot -h20.0.0.18 -P3306 -p70n6w+1XklMu -f < change_table_characset_result.sql > change_table_characset_result.out 2>&1

3. 批量修改列字符集

change_column_characset.sql

set group_concat_max_len=10240;
 
select concat(c1,c2,';') 
  from (select c1, group_concat(c2) c2
          from (select concat('alter table ',t1.table_schema,'.',t1.table_name) c1,concat(' modify ','`',t1.column_name,'` ',t1.data_type,
                              if (t1.data_type in ('varchar','char'),concat('(',t1.character_maximum_length,')'),''),
                              ' character set utf8mb4 collate utf8mb4_0900_ai_ci',if(t1.is_nullable='NO',' not null',' null'),' comment ','''',t1.column_comment,'''') c2
                  from information_schema.columns t1, information_schema.tables t2
                 where t1.table_schema=t2.table_schema and t1.table_name=t2.table_name and t2.table_type='BASE TABLE' 
                   and lower(t1.collation_name) in ('utf8mb4_general_ci','utf8_general_ci') and t1.table_schema not in ('sys','mysql','performance_schema','information_schema')) t1
         group by c1) t;

调用:

/home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql -uroot -h20.0.0.18 -P3306 -p70n6w+1XklMu -N < change_column_characset.sql > change_column_characset_result.sql
/home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql -uroot -h20.0.0.18 -P3306 -p70n6w+1XklMu -f < change_column_characset_result.sql > change_column_characset_result.out 2>&1

以上就是关于“MySQL8批量修改字符集脚本怎么写”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL8批量修改字符集脚本怎么写

本文链接: https://lsjlt.com/news/201254.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL8批量修改字符集脚本怎么写
    这篇“MySQL8批量修改字符集脚本怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“M...
    99+
    2023-03-31
    mysql
  • MySQL8 批量修改字符集脚本
    目录1. 批量修改库字符集2. 批量修改表字符集3. 批量修改列字符集从低版本迁移到mysql 8后,可能由于字符集问题出现 Illegal mix of collations (utf8mb4_general_ci,I...
    99+
    2023-03-24
    MySQL8批量修改字符集 MySQL8 修改字符集
  • MySQL8批量修改字符集脚本
    目录1. 批量修改库字符集2. 批量修改表字符集3. 批量修改列字符集从低版本迁移到MySQL 8后,可能由于字符集问题出现 Illegal mix of collations (u...
    99+
    2023-03-24
    MySQL8批量修改字符集 MySQL8 修改字符集
  • 怎么批量修改mysql表字符集
    怎么批量修改mysql表字符集?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!批量修改mysql表字符集的方法:首先查询数据...
    99+
    2024-04-02
  • mysql批量修改字符集的方法
    这篇文章主要介绍mysql批量修改字符集的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql如何批量修改字符集的方法:首先需要利用语句,生成所有实际执行的语句;然后基于My...
    99+
    2024-04-02
  • 如何批量修改mysql表字符集
    1. 更改单张表的编码 ALTER TABLE YOUR_TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 2....
    99+
    2023-09-05
    mysql 数据库
  • 批量修改ssh配置的expect脚本
    第一思路,用iptables把外网ssh的包DROP掉;第二思路,用tcpwrapper把sshd的allow写死;第三思路,修改sshd_config,只监听内网请求。 由于一些说不清楚的原因,iptab...
    99+
    2022-06-04
    批量 脚本 ssh
  • navicat怎么修改字符集
    navicat中修改字符集的方法:1、打开navicat工具;2、连接数据库;3、选择需要修改字符集的数据表;4、右键打开设计表页面;5、最后通过底下“字符集”一栏进行修改字符集即可。具体操作步骤:打开navicat管理工具。点击左上角“连...
    99+
    2024-04-02
  • oracle字符集怎么修改
    要修改 oracle 字符集,可以按以下步骤进行:修改数据库字符集:alter database character set 修改表或列字符集:alter table modify ...
    99+
    2024-05-30
    oracle
  • expect脚本如何批量修改ssh配置
    这篇文章主要介绍“expect脚本如何批量修改ssh配置”,在日常操作中,相信很多人在expect脚本如何批量修改ssh配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”expect脚本如何批量修改ssh配置...
    99+
    2023-06-09
  • 怎么修改mysql的字符集
    今天就跟大家聊聊有关怎么修改mysql的字符集,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。怎么修改mysql的字符集1.在DOS窗口下运行 ...
    99+
    2024-04-02
  • java怎么修改Eclipse字符集
    这篇文章将为大家详细讲解有关java怎么修改Eclipse字符集,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。默认情况下,Eclipse字符集是GBK,但是现在很多项目都是UTF-8,所以我们需要设置我们...
    99+
    2023-06-15
  • plsql怎么修改oracle字符集
    要修改Oracle数据库的字符集,可以按照以下步骤进行操作:1. 首先,备份数据库以防止数据丢失。可以使用Oracle提供的工具或者...
    99+
    2023-09-29
    plsql oracle
  • 如何编写Shell脚本批量修改文件后缀名代码
    本篇内容介绍了“如何编写Shell脚本批量修改文件后缀名代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/basho...
    99+
    2023-06-09
  • plsql怎么批量修改字段值
    在PL/SQL中,可以使用UPDATE语句来批量修改字段值。以下是一个示例:```plsqlDECLARE-- 定义变量v_new_...
    99+
    2023-10-12
    plsql
  • oracle怎么批量修改字段值
    要批量修改Oracle数据库中的字段值,可以使用UPDATE语句。下面是一个示例: UPDATE 表名 SET 字段名 = 新值 W...
    99+
    2024-04-09
    oracle
  • linux怎样修改字符集
    小编给大家分享一下linux怎样修改字符集,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:1、利用“LANG=字符集”或者“export  LANG...
    99+
    2023-06-29
  • Python实现批量修改xml文件的脚本
    今天分享一个我自己写的实用脚本,主要是将.xml文件进行批量的修改 首先,声明我并不是很了解.xml的相关知识,所以今天主要是以我遇到的问题来做个记录。 想要更多的了解xml,请看最...
    99+
    2024-04-02
  • 利用脚本批量修改h3C交换机super3
    因安全规则要求,必须定期修改交换机密码, 而交换机数量多,所以配置了一个脚本远程自动修改。脚本命令如下:# $language = "VBScript"# $interface = "1.0"' Connect to an SSH serv...
    99+
    2023-01-31
    交换机 批量 脚本
  • mysql怎么修改表的字符集
    这篇文章主要介绍mysql怎么修改表的字符集,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql改表的字符集的方法:1、修改表的编码为utf8,代码为【alter table s...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作