MySQL报错的分类与解决方法
无法插入中文字符
报错内容:
1366 - Incorrect string value: ‘\xE6\x9B\xBE\xE5\x8D\x8E’ for column ‘sname’ at row 1
原因
MySQL默认配置:
variable_name value character_set_database latin1 character_set_server latin1 可通过
SHOW VARIABLES LIKE '%char%';查看。解决方法
修改
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini:找到
[mysql]在下方添加
default-character-set=utf8找到
[mysqld]在下方添加
character-set-server=utf8找到
[client]在下方添加
default-character-set=utf8
重启MySQL,重新登录
Win+R- services.msc找到MySQL57(57为版本号),右键选择重新启动
Win+R- cmd(或cmder)通过
mysql -u -root -p命令并输入密码后访问数据库。通过
SHOW VARIABLES LIKE '%char%';查看,字符集变为utf8即成功修改。
Navicat连接数据库报错
报错内容:
2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded
原因:
MySQL8之前的版本中加密规则为mysql_native_password,而在MySQL8以后的加密规则为caching_sha2_password。
解决方法:
在命令行中登录MySQL后,使用命令行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';