安装mysql失败问题,第一次没安装成功,删除了注册表信息,重启电脑,第二次还是不能安装成功,如图,

说实话,这个MySQL安装问题确实很烦人。
之前在家乡部署服务器的时候,也遇到过类似的情况,徘徊了一段时间。
你提到的几点非常重要。
让我整理一下我的想法。

首先是路径问题。
当我安装MySQL时,当它告诉我系统上找不到my-template.cnf时,我很困惑。
后来我发现Windows根本不识别.cnf后缀。
默认情况下,这些文件被视为 .ini。
当时我直接将安装目录改为E:\mysql\mysql5 .0,问题立即消失。
这有点诡计,但说实话,最好从一开始就全部用英语安装,这样你以后就不用担心它们了。

说到修改注册表,这其实是有点冒险的。
我尝试将路径更改为HKEY_LOCAL_MACHINE\Software\MySQLAB\MySQLServer5 .0,但说实话,我不明白为什么更改后服务会正常重新启动。
也许是因为MySQL启动时,首先从注册表中读取路径?为了避免删除注册表项或删除不正确的注册表项,我们建议您在继续操作之前备份注册表。

对于无法启动服务的问题,你提到的两条路径都是稳定的。
有一次我的客户端服务器在启动阶段卡住了,最后我发现HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中mysql键的ImagePath指向的exe文件路径是错误的。
我本来是假装的,结果手滑了,弄错了,所以我又改了一遍,就没事了。
这种方法比简单地重启服务有效得多。

最令人惊讶的是,进程意外结束。
说实话,我遇到过好几次了,每次都像拆除炸弹一样。
后来我发现删除 ib_logfile0、ib_logfile1 、ibdata1 文件并重新开始通常可以解决问题。
实在不太明白原理。
也许这与表空间冲突有关?但是,您必须先备份数据,然后才能继续。
我就面临这个陷阱。

至于最后一个创建服务的命令,我感觉mysqld安装程序提供的服务管理功能非常有用。
必须使用 cmd 命令感觉有点过时了。
然而,这些命令实际上提供了对服务状态的精确控制,这比常规服务管理器更好。

您的问题非常具体,与互联网上找到的一般答案不同。
我建议按顺序尝试它们。
建议您先将路径改为英文,然后调整注册表,最后处理异常文件。
如果这不起作用,请尝试将 MySQL 升级到版本 5 .7 新版本中,对中文路径的兼容性有了很大的提高。
我所有的新电脑都直接使用 5 .7 ,我再也没有遇到过这个烦人的问题。

mysql能用中文吗

哎哟,我被这个MySQL字符集问题折磨了好久了。
记得有一次,我接手了一个项目,数据库里的数据都是中文的。
我运行的时候全是乱码。
我感觉真的很糟糕。

当时我就傻眼了。
我赶紧查资料,发现必须检查字符集。
我在 MySQL 中执行了一条命令:SHOW VARIABLES LIKE 'character_set_%';。
乍一看,发现关键变量要么是utf8 ,要么是utf8 mb4 ,两者都支持中文。

那我就得修改配置文件了。
我的 MySQL 是 5 .5 版本,因此我将这一行添加到 my.ini 的 [mysqld] 部分:character-set-server=utf8 mb4 更改完成后,必须重新启动MySQL服务才能生效。

在创建数据库和表的时候,我特别注意了编码,在CREATE DATABASE之后直接添加了CHARACTER SET utf8 mb4 ,以保证新创建的数据库支持中文。

不过,这件事还没有结束。
我得注意不要用中文来命名标识符,比如表名、字段名。
使用中文可能会导致兼容性问题。
我以前也遇到过。
如果表名是中文,则在其他服务器上无法显示结果。

如果插入数据或查询时发现中文乱码,我会临时设置会话编码,执行SET NAMES utf8 mb4 ;,可以解决临时问题。

对于现有的数据库和表,我必须手动转换编码,例如使用ALTER TABLE命令并添加CONVERT TO CHARACTER SET utf8 mb4 ;,这样就可以更改编码。

另外,有时我会遇到错误1 3 6 6 ,说字段编码不是UTF-8 这时候我就得修改表字段编码。

命令行工具出现中文乱码是因为客户端工具的编码与MySQL不一致。
我之前使用chcp6 5 001 设置UTF-8 编码。

虽然MySQL支持中文表名和字段名,但是使用时一定要注意。
数据库字符集必须是utf8 mb4 或gb2 3 1 2 ,并且必须用反引号括起来。
不过我还是建议优先考虑英文命名。
毕竟中文命名还有很多不足之处。

mysql5.7.38 安装过程的小坑

说实话,当我安装免安装版本的MySQL 5 .7 .3 8 时,我遇到了一些陷阱。
现在想想,还是要提醒新朋友们注意这些细节。

1 .下载并解压 我记得我去官网下载zip包的时候选择的是Windows版本。
直接用WinRAR解压就可以了,但关键是路径!当时我把压缩包放在一个类似“D:\Database\MySQL5 .7 .3 8 ”这样的汉字路径下。
结果mysqld启动就挂了,日志里全是乱码。
后来我改成干净的英文路径“D:\mysql5 7 3 8 ”就完成了。

2 .初始化数据库 这是最关键的一步。
我建议先创建一个独立的数据目录,比如使用命令行 mkdir mysql5 7 3 8 _data。
然后运行 ​​mysqld --initialize-insecure。
这一步会自动生成data文件夹和root用户。
但这里有一个问题 - 默认密码是随机生成的,文件名是一个隐藏的不可见文件,如 mysql-bin.000001 我有一个朋友直接删除了data目录。
结果,所有的数据都消失了,这让我惊呆了。

顺便说一下,--initialize比--initialize-insecure更安全,但你必须手动处理临时密码。
那一次,我完成后忘记删除临时密码文件。
第二天,发现root直接用默认密码登录了。
幸运的是,我很容易就改变了它。

3 .启动MySQL服务 手动启动比服务方式更费力。
我使用 mysqld --console 来启动它,但我必须保持命令行窗口挂起,否则脚本将在服务关闭时停止。
后来我改用 sc create mysql binPath= "C:\mysql5 7 3 8 \bin\mysqld.exe" --service 来注册服务,这样我就可以用 net start mysql 启动它。

4 .更改默认密码 这一步是我走过的最大的陷阱!当时我直接用了 ALTER USER 'root'@'%' IDENTIFIED BY '1 2 3 4 5 6 ';更改密码,但错误消息为 ERROR 1 3 9 6 (HY000): 'root'@'%' 的 ALTER USER 操作失败。
后来我意识到我忘记查看 SELECT 用户主机值,host FROM mysql.user;。
我的root主机是::1 ,我改成localhost后就成功了。

五、其他需要注意的问题 1 、配置文件:我把my.cnf放在解压目录的data文件夹下,后来发现还是放在系统盘根目录下比较好。
例如,将 max_connections 设置为 3 00,否则您甚至无法运行 3 个客户端。
2 、防火墙:我之前用过云服务器,默认3 3 06 端口是被屏蔽的。
结果远程连接无法直接连接。
然后我去安全组打开端口,就成功了。
3 、数据备份:这个应该提一下。
我有一个项目,直接使用数据目录作为备份。
结果,硬盘崩溃了,一切都丢失了。
建议使用mysqldump定期导出。

说实话,这些陷阱都是我的错误造成的,但只有经历过之后,我才能明白它们有多么重要。
现在我安装MySQL 5 .7 .3 8 的免安装版本时,一般都是使用PowerShell脚本一键完成,但是还是建议初学者遵循一步一步来,别像我一样着急。