Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias fo

在使用pymysql执行写入MySQL操作时遇到警告:'utf8'字符集即将从UTF8MB3变为UTF8MB4。虽然不影响程序运行,但建议更新以避免未来问题。可以通过Win+R打开CMD,输入MySQL命令进入数据库,查看并修改表的字符集为DEFAULT CHARSET=utf8mb4。此外,可参照链接找到my.ini文件,修改[client]和[mysqld]部分以设置全局字符集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pymysql执行写入mysql的操作时报错:

Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.")
  result = self._query(query)

这个警告的意思是

“UTF 8”目前是字符集UTF8MB3的别名,在将来的版本中将被UTF8MB4替换。请考虑使用UTF8MB4,以便明确无误。

这个警告并不影响程序的执行,但是如果想要修改的话,这里提供下方法:

一、首先我们可以win+r,输入cmd,接着输入

mysql -u root -p

输入mysql密码之后,输入   use  数据库名   。比如说我想查看数据库xina,那我输入命令如下来选定数据库xina

use xina;

接着查看这个数据库中某个表的数据类型,比如说我要查看表的名称是news,那我输入命令如下

show create table news;

可以看到下图所示

报错的目的是希望红框的部分是 DEFAULT CHARSET=utf8mb4

二、按照这个链接查找my.ini的方法,找到my.ini,在这个文件中找到[client],[mysqld],按照如下方式修改这个文件

[client]
port=3306
default-character-set=utf8mb4
[mysqld]
port=3306
character_set_server=utf8mb4
#解压目录
basedir=D:\MySql\mysql-8.0.12-winx64\bin
#解压目录下data目录
datadir=D:\MySql\mysql-8.0.12-winx64\data
federated
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

 

2025-03-16T04:48:11.723920Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start. 2025-03-16T04:48:11.741228Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release. 2025-03-16T04:48:11.742158Z 0 [System] [MY-013169] [Server] D:\Mysql\bin\mysqld.exe (mysqld 9.2.0) initializing of server in progress as process 9208 2025-03-16T04:48:11.768998Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. 2025-03-16T04:48:11.818749Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2025-03-16T04:48:12.039225Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2025-03-16T04:48:13.332983Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: fIIrem7oIb.& 2025-03-16T04:48:14.410749Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end. 2025-03-16T04:55:44.566160Z 0 [System] [MY-015015] [Server] MySQL Server - start. 2025-03-16T04:55:44.650933Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release. 2025-03-16T04:55:44.651190Z 0 [System] [MY-010116] [Server] D:\Mysql\bin\mysqld (mysqld 9.2.0) starting as process 27044 2025-03-16T04:55:44.653855Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. 2025-03-16T04:55:44.703565Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2025-03-16T04:55:44.951140Z 1 [System] [MY-013577] [InnoDB] InnoDB initiali
最新发布
03-17
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值