【MYSQL】关于服务启动1067错误解决思路

本文介绍了一种常见的MySQL服务启动失败问题及其解决方法。通过查看系统日志定位到配置文件my.ini中的错误设置,并给出了正确的配置项。

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

错误

之前安装了MYSQL后,直接使用NavicatPremium工具操作数据库,一开始正常启动。后来为了和同学协同开发,就统一使用安装在云服务上的数据库(其实这个问题有更好的解决方案,不过这属于小系统,小练手,就没使用太多工具,好吧,我们偷懒了)。

过后,课程需要,我再次启动本地MYSQL服务,就出现了如下情况:

 

解决过程

         百度一搜索,解决方案五花百门。修改my.ini文件,删除ib_logfile0、ib_logfile1、...等文件,甚至重装。有些遇到同样问题的人还帮大家测试过了网上种种解决方案,然后选择出符合他自己的解决方案。一开始我也测试过修改my.ini和删除文件,但是都没把问题解决掉。好在我不是很着急着使用数据库,否则就要测试“重装”了。

         以上解决方法都有一个共同点,就是“治标”。即这次解决你问题的方案,下次遇上“同样”的问题不一定有用。这问题其实并不“同样”,但是在我们这些不熟悉MYSQL运行原理和底层原理的人来说,就是同样的问题了,都是1067启动终止嘛。但是从网上那么多的解决方案可以看出,1067启动错误的起因绝不止一种。不懂得人只能“盲扫”了,一个一个试呗。

         感谢开源中国的一个好几年前的问题解答贴,解决了我这个问题。问答帖地址:(http://www.oschina.net/question/107405_20058),非常感谢。

         没错,查看系统日志就可以了。


         可以看到,系统显示无法识别的变量“default-character-set=utf-8”,直接百度,将配置文件my.ini里[mysqld]下的“default-character-set=utf-8”改为“character-set-server=utf-8”,简单粗暴解决问题。

         再深入一点(再百度一下),原来起因是我在安装了数据库后,重新配置了数据库的编码,在配置文件里添加了default-character-set=utf-8,但是由于MYSQL版本限制,我的MYSQL版本(5.5)要使用“character-set-server”进行编码配置,而不能使用“default-character-set”。


总结

解决问题思路:查看日志,有针对性解决问题。(和开发一个道理)

 

 

【你的建议一小句,是二狗完善自己的一大步。】



MySQL服务器安装完成后无法启动时,通常会遇到多种潜在原因。以下是常见的解决步骤及对应的处理办法: ### 1. 检查日志文件 首先查看 MySQL错误日志文件 (一般位于 `data` 目录下或通过配置指定),了解具体的报错信息。 ```bash # Linux系统上可通过命令行找到并打开该文件: sudo tail -f /var/log/mysql/error.log ``` **解决方案**: 根据日志提示修正相应的问题点(如端口冲突、权限不足等); --- ### 2. 端口号占用检查 确认是否有其他服务占用了默认的3306端口或其他自定义设置过的MySQL监听端口。 ```bash netstat -an | grep "LISTEN" ``` 如果发现有别的程序正在使用此端口,则需关闭那个进程或将 MySQL 配置成另一个空闲端口运行。 --- ### 3. 数据目录权限校验 保证数据存放路径下的所有者和读写权限正确无误。 ```bash chown -R mysql:mysql /path/to/datadir/ chmod 750 /path/to/datadir/ ``` 其中 `/path/to/datadir/` 表示实际的数据存储位置,默认可能是 `/var/lib/mysql`. --- ### 4. 初始化数据库失败后的修复措施 有时候由于某些原因导致初始化过程未完成而造成后续不能正常开启的情况发生。这时可以尝试删除旧实例再全新创建一个新的实例。 注意备份重要资料之后执行下面的操作: ```bash mysqld --initialize-insecure –datadir=/your_datadir_path_here service mysqld restart # 或者 systemctl start mariadb.service (取决于你的Linux发行版) ``` 以上就是一些常规排查思路与对应方案供参考!
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值