60【MySQL】MySQL存不了字符引发的折腾

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 【MySQL】MySQL存不了字符引发的折腾

起初,做一个图书馆系统建了个MySQL数据库,要往表中写入字符的时候写不进去,查询资料改my.ini配置文件中的mysqlId下加两句字符集有关的。

加了这两句后重启MySQL服务,发现MySQL服务开启不了。(早上6点醒来就开始想怎么解决)

于是在ProgramData中根据搜索的情况,各种操作,包括删Data文件夹齐平的三个文件等。无效。

最后,第二天早上想着引起这个变化的就是在my.ini配置文件中的mysqlId下加两句字符集有关的,就把那两句字符集有关的配置语言删除,竟然可以重启MySQL服务。

这时候,我打开navicat中之前建的数据库,里面的数据表打不开了,要删除这个建的数据库也删除不了、1045的错误。

于是我只能去C盘ProgramData的Data文件夹中把之前建的数据库删除,因为其中的数据表已经打不开,只能删除重建。重建的数据库是可以操作使用的。

这个对数据库不能操作的原因,可能是之前建的数据库数据文件已经通过我的一次备份,然后替换发生了改变,然后打不开。

教训就是:
1、C盘ProgramData的MySQL的Data文件夹不要轻易改变、移动、替换。
2、MySQL的配置文件my.ini谨慎改动。改动之前一定记得要备份原始的my.ini。

将近两三个小时的折腾,收获就是对MySQL数据库更加熟悉。不过,存不了字符还是个问题啊,要继续解决。


找到原因了,往MySQL数据库中写入字符(英文、中文),也就是字段的格式为char、vachar,都要加单引号

插入语句如下:

//sql语句
                string sql = "insert into bookinfo (bookname, booktype, bookauthor, bookprice, bookpic, bookcontent, bookissue)"
                    + " values ('" + strBookName + "', '" + strBookType + "', '" + strAuthor + "', '" + strPrice + "', '" + 
                    strPic + "', '" + strContent + "', '" + strIssue + "');";
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
数据库 索引 关系型数据库
Nextcloud 解决 MySQL 没有支持 4 字节字符时报错: SQLSTATE[42000],解决办法
根据 Nextcloud 控制面板安全及设置警告,解决最后一个报警,不支持 4 字节的问题时,遇到该问题的解决方案。
2987 0
|
7月前
|
JSON 关系型数据库 MySQL
MySQL的字符转义
MySQL的字符转义
41 0
|
9月前
|
存储 关系型数据库 MySQL
MySQL中字符、字节、位之间的关系
MySQL中字符、字节、位之间的关系
55 0
|
10月前
|
SQL 关系型数据库 MySQL
MySql匹配特定的字符
MySql匹配特定的字符
53 0
|
10月前
|
关系型数据库 MySQL
Mysql匹配字符类
Mysql匹配字符类
71 2
|
10月前
|
SQL 关系型数据库 MySQL
|
关系型数据库 MySQL 数据库
|
关系型数据库 MySQL Java
习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制
习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制
111 0
习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制
|
关系型数据库 MySQL 测试技术
软件测试mysql面试题:用于获取字符串的前5个字符的命令是什么?
软件测试mysql面试题:用于获取字符串的前5个字符的命令是什么?
88 0