MySQL使用问题笔记(安装、重装、使用问题常用解决办法记录)

这篇博客详细记录了MySQL安装时遇到的问题,如安装失败的解决办法,以及使用过程中的一些常见错误,如中文字符编码错误、MySQL启动失败、表字符集修改、外键约束等问题的解决策略。

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

安装问题汇总


卸载重装问题汇总

1. 安装MySQL时,一直提示 time remain 倒计时 2sconds remaining

原因:由于以前安装过MySQL,未卸载干净,导致安装失败

使用问题汇总

1. 配置my.ini 文件,修改默认字符集编码方式,插入中文字符报错,ERROR 1366 (HY000): Incorrect string value: ‘\xCD\xFA\xB2\xC6’ for column ‘name’ at row 1

方案:MySQL数据库安装时默认 UTF8 编码方式,下面修改为 gbk 方式

1、 先查看编码方式
show variables like 'char%';
在这里插入图片描述
character_set_client----客户端编码方式;
character_set_connection—建立连接使用的编码;
character_set_database—数据库的编码;
character_set_results----结果集的编码;
character_set_server----数据库服务器的编码;
只要保证以上五个采用的编码方式一样,就不会出现乱码问题。
上述查看 character_set_databasecharacter_set_server、 character_set_client; character_set_results 都是latin1,下面修改为 utf8
2、 找到 my.ini 文件,修改编程方式
显示隐藏文件: 此电脑 – 顶端查看 – 勾选隐藏的项目
找到 my.ini 文件:C:\ProgramData\MySQL\MySQL Server 5.7 路径下
在这里插入图片描述
3、 找到 my.ini 文件,修改编程方式,必须保存为ANSI格式,否则保存后MySQL无法启动
default-character-set 去掉 # ,并改为 ’default-character-set=utf8
在这里插入图片描述
character-set-server 掉 # ,并改为 character-set-server=utf8
在这里插入图片描述
4、修改完上面两处,将文件保存为 ANSI 编码格式(记事本可以另存为选择,notepad++ 可以选择编码方式)
5、运行MySQL,查询是否更改成功,成功如下
show variables like '%char%';
在这里插入图片描述

2. 修改my.ini配置后,MySQL无法启动,client窗口闪退无法启动

😗 检查文件my.ini 内容配置是否正确,配置见上一个问题
😗 文件my.ini 修改后保存为 ANSI 格式
😗 打开服务,MySQL服务,点击重新启动
完成上面,即可打开窗口

3. 修改已经创建好的数据库字符集属性

修改数据库字符集属性
MySQL窗口,运行下面语句,修改数据库字符集属性
alter database 库名 charset 字符集类型名称;
在这里插入图片描述

4. mysql输入前加了引用分号 '>;exit各种退出都无法执行

解决: 输入一个引号,即可执行命令,然后用 分号;执行结束

mysql> insert into student3 values(3, '张三', '中国'四川省','成都市','高新区','天府大道90');
    '> ;
    '> exit;
    '> '
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '四川省','成都市','高新区','天府大 道90号');

5. 表新增数据时报错 ERROR 1366 (HY000): Incorrect string value: ‘\xE6\x9B\xBE\xE5\x8D\x8E’ for column ‘字段名称’ at row 1

原因:改表中的字段为latin1字符集(下见查询语句)
解决:修改该字段字符集latin1,否则插入中文报错 在这里插入图片描述

下面介绍查询和更改已创建表的字符集,对应各自的需求选择

查询字符集
查看mysql的字符集:show variables where Variable_name like '%char%';
查看某一个数据库字符集:show create database 数据库名;
查看某一个数据表字符集:show create table 数据表名;

如:
查询MySQL字符集

mysql> show variables where Variable_name like '%char%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | latin1                                                  |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | latin1                                                  |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.01 sec)

修改mysql的字符集
举例如下:
set 更改的名字(Variable_name)=utf8(类型—);

mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
mysql> set character_set_database=utf8;
mysql> set character_set_results=utf8;

修改数据库的字符集:
alter database 库名 character set utf8


修改数据表的字符集:
alter table 表名 character set utf8

修改指定字段的字符集
alter table 表名 change 字段名 字段名 varchar(10) character set utf-8;
修改指定字段的字符集:
ALTER TABLE tablename CHANGE c1 c1 VARCHAR(50) CHARACTER SET utf8;

6. 删除表后,向该表直接插入淑娟报错,ERROR 1146 (42S02): Table ‘selecttest.score’ doesn’t exist

原因: 改变已删除,无法直接插入数据,要先创建表
解决: 创建表,然后插入数据

7. ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails

原因:某字段设置了外键,插入该字段值在关联外键的另一个表中的唯一索引列(一般是主键)中的值不匹配
解决:外键表中先增加需要的字段值 或者 更换为插入外键表已经存在的值

8. 更改有外键的表字符集时报错ERROR 1832 (HY000): Cannot change column ‘sno’: used in a foreign key constraint ‘score_ibfk_1’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值