Mysql5.7数据库编码设置为utf8mb4

😀utf8mb4向utf8兼容,具体区别百度一下

我的MySQL版本为5.7.25,在win10中使用,此文章我是在utf8的基础上改为utf8mb4的(修改之处可参见另一篇由latin1改为utf8的博文)
mysql版本

一、查看数据库编码

show variables like 'character%';

或者

show variables like '%char%';
查看数据库里的字符集状态(同第四点)

二、在配置文件里(my.ini)下修改配置

在mysql的安装目录下找到my.ini文件(如果没有的话就把my-medium.ini复制,然后重命名为my.ini即可),Windows系统的my.ini配置文件路径在C:\ProgramData\MySQL\MySQL Server 5.7(若找不到可以点击显示隐藏文件)
绿色为增添部分
在这里插入图片描述
在这里插入图片描述
代码如下🎨:

[client] 
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=‘SET NAMES utf8mb4’

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
注意🔥:

在原文件配置中有的且值为utf8的,加入新的时候一定要替换掉原来的,否则mysql无法读取配置文件,无法启动。

三、修改完成并保存,重启MySQL

在win菜单中打开“服务”,重启MySQL5.7
答应我,一定重启🧐
在这里插入图片描述

四、验证数据库编码

show variables like 'character%';

或者

show variables like '%char%';
如下即修改成功:
在这里插入图片描述

查看数据表的字符集情况:

show variables like '%colla%';show variables like ‘collation%';
如下即可:
在这里插入图片描述

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 为了把 MySQL 5.7 数据库编码改为 UTF8MB4UTF8MB4_General_ci,您可以执行以下步骤: 1. 备份数据库:在进行任何更改之前,请务必备份您的数据库以防止任何数据丢失。 2. 确定当前编码:使用以下语句检查数据库当前的编码: ``` SHOW VARIABLES LIKE 'character_set_database'; ``` 3. 修改数据库编码:使用以下语句更改数据库编码: ``` ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 4. 修改表编码:对于每一个表,您需要使用以下语句修改表的编码: ``` ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_General_ci; ``` 5. 修改列编码:对于每一列,您需要使用以下语句修改列的编码: ``` ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_General_ci; ``` 请注意,您需要根据您的数据库结构进行相应的修改。这些步骤可以帮助您将 MySQL 5.7 数据库编码更改为 UTF8MB4UTF8MB4_General_ci。 ### 回答2: 要把MySQL 5.7中当前数据库编码改为utf8mb4 utf8mb4_general_ci,可以按以下步骤进行: 1. 登录MySQL客户端或者使用MySQL图形界面工具连接到数据库服务器。 2. 使用以下命令查看当前数据库编码: ```sql SHOW VARIABLES LIKE 'character_set_database'; ``` 3. 如果当前数据库编码不是utf8mb4,请继续执行以下步骤。 a. 首先,备份数据库以防止数据丢失。 b. 使用以下命令修改当前数据库编码utf8mb4: ```sql ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci; ``` 其中,`database_name`是要修改编码数据库的名称。 4. 使用以下命令查看所有表的编码: ```sql SELECT table_name, table_collation FROM information_schema.tables WHERE table_schema = 'database_name'; ``` 其中,`database_name`是要修改编码数据库的名称。 5. 如果某些表的编码不是utf8mb4,请继续执行以下步骤。 a. 首先,备份相关表以防止数据丢失。 b. 对于每个需要修改编码的表,使用以下命令修改表的编码utf8mb4: ```sql ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 其中,`table_name`是要修改编码的表的名称。 6. 完成以上步骤后,再次使用以下命令查看所有表的编码,确认所有表的编码都已经修改为utf8mb4: ```sql SELECT table_name, table_collation FROM information_schema.tables WHERE table_schema = 'database_name'; ``` 其中,`database_name`是要修改编码数据库的名称。 通过以上步骤,您可以将MySQL 5.7中当前数据库编码全部改为utf8mb4 utf8mb4_general_ci。记得在执行任何数据库操作前,进行备份以防止数据丢失。 ### 回答3: 在MySQL 5.7中将当前数据库所有编码更改为utf8mb4 utf8mb4_general_ci的步骤如下: 1. 在MySQL命令行或客户端中登录到数据库服务器。 2. 选择要更改编码数据库,可以使用以下命令切换到目标数据库: ``` USE your_database_name; ``` 3. 在更改编码之前,首先备份数据库以防止数据丢失。 4. 为了确保兼容性,在更改编码之前需要确保所有的表和列都使用UTF-8编码。可以使用以下命令检查表和列的编码: ``` SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_database_name' AND CHARACTER_SET_NAME != 'utf8mb4'; ``` 5. 对于返回的每个表和列,使用ALTER TABLE语句将其编码更改为utf8mb4 utf8mb4_general_ci。例如,要更改名为table1的表的编码,可以使用以下命令: ``` ALTER TABLE table1 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 6. 重复步骤5,直到所有表和列的编码都已更改。 7. 检查所有视图和存储过程,并确保它们适应新的编码。如果有必要,进行相应的更改。 8. 最后,将数据库的默认编码更改为utf8mb4。可以通过编辑MySQL配置文件(my.cnf或my.ini)并添加以下行来实现: ``` [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server=utf8mb4 collation-server=utf8mb4_general_ci ``` 9. 重启MySQL服务器以使更改生效。 完成以上步骤后,你的数据库中的所有表和列都将编码utf8mb4 utf8mb4_general_ci。请注意,更改数据库编码会影响数据存储和排序,因此在更改编码之前请务必备份数据库并确保所有表和列都适应新编码
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值