MySQL 常见报错[亲测有效]

MySQL 常见报错[亲测有效]记录一下方便查找

MySQL 常见报错

【Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 】

原因:mysql8.0以上加密方式,Node还不支持。

解决方式:【以管理员的方式打开 cmd 】→ 【进入到 mysql 的 bin 目录】 → 【 mysql ‐u root ‐p 】输入密码,回车进入到 mysql> 里面 → 输入:【alter user “root”@”localhost” identified with mysql_native_password by “本地登录MySql的账号”; 】回车,显示:Query OK, 0 rows affected (0.06 sec) 就可以继续下去 → 输入:【 flush privileges; 】回车,显示:Query OK, 0 rows affected (0.03 sec) 就可以了

解释:flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。经常用在改密码和授权超用户。

注意:1、输入的时候后面一定要加英文的分号,否则没有反应

2、如果没有【以管理员省份运行 cmd 】则在进入 mysql 的时候会出现报错:mysql : 无法将“mysql”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路 径,请确保路径正确,然后再试一次。

 

【1366 – Incorrect string value: “xF0x9Fx98x8AxEFxBC…” for column “comments” at row 1 】

原因在于我们的数据中存在emoj表情,而这些表情是按照四个字节一个单位进行编码的,而我们通常使用的utf-8编码在mysql数据库中默认是按照3个字节一个单位进行编码的,正是这个原因导致将数据存入mysql数据库的时候出现错误

解决方式:

方式一:在 Navicat Premium(数据可视化)里面新建数据库,字符集选择 utf8mb4 ,确定即可

方式二:修改数据表的编码为 utf8mb4

执行命令:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;

参考:https://blog.csdn.net/poice00/article/details/52129351

 

【 1406 – Data too long for column “images” at row 1 】

【1406 – Data too long for column “images” at row 5 】

第1行“images”列的数据太长       第5行“images”列的数据太长

原因就是 “xxx” 字段设置的长度太小了,或者说给这个字段赋值的内容太长了

解决方式: 如果想都放进去,就把字段的长度或类型改一下;

比如:Varchar 的长度是很有限的,那就用 Text、mediumtext,longtext 替代 或者 也可以用 blob,mediumblob,longblob

 

 

【 Column “name” in field list is ambiguous 】

字段列表中的“name”列不明确

原因是不同表的字段都有 name 这个名字,需要指定表名才行

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6095.html

(0)
上一篇 2023-04-17
下一篇 2023-04-17

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注