自己在使用mysql时遇到了许多问题,所以总结了一下各种错误及解决办法
说明:windows10,mysql
错误和解决办法
-
错误:系统找不到指定文件
解决:修改注册表
鼠标点击“开始–运行–运行输入regedit”命令
“mysqld --initialize\mysqld.exe” --defaults-file=“C:\ProgramData\MySQL\MySQL Server 5.7\my.ini” MySQL57
“C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe” --defaults-file=“C:\ProgramData\MySQL\MySQL Server 5.7\my.ini” MySQL57 -
错误:2017-06-02T08:55:49.523144Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-06-02T08:55:49.526174Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2017-06-02T08:55:49.527177Z 0 [ERROR] Aborting
解决:删除Program Files\MySQL\MySQL Server 5.7\下data中的所有文件 -
错误:mysqld: Can’t create/write to file ‘C:\Program Files\MySQL\MySQL Server 5.7\data\is_writable’ (Errcode: 13 - Permission denied)
2017-06-02T09:00:47.304105Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-06-02T09:00:47.308088Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.
2017-06-02T09:00:47.308088Z 0 [ERROR] Aborting
解决:以管理员身份运行cmd
开始菜单→附件→命令提示符,右键命令提示符展开菜单,选择 以管理员权限运行。
安装
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --initialize
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld install
Service successfully installed.
C:\Program Files\MySQL\MySQL Server 5.7\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
修改C:\ProgramData\MySQL\MySQL Server 5.7\my.ini文件
character_set_server=utf8
.mysql5.7目录下没有data文件夹。注释掉my.ini中datadir
删除data下文件
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld initialize insecure
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld install
The service already exists!
The current server installed: “C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld” MySQL
修改C:\ProgramData\MySQL\MySQL Server 5.7\my.ini文件
tmpdir=“E:/MySqltemp”
设置开发人员模式
关闭防火墙
修改my.ini
在innodb配置节的最后加上innodb_flush_method=normal就可以了
操作
删除mysql
在控制面板里把Mysql正常卸载
C:\Program Files\MySQL\MySQL Server 5.7
C:\Documents and Settings\All Users\Application Data\MySQL
这里还有MySQL的文件,必须要删除
注意:Application Data这个文件夹是隐藏的,
需要打开个文件夹选择菜单栏 工具→文件夹选项→查看→隐藏文件和文件夹 一项选上显示所有文件和文件夹 →确定
删除MySQL文件夹下的my.ini文件,如果备份好,可以直接将文件夹全部删除
开始->运行-> regedit 看看注册表里这几个地方删除没有
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除(我卸载的时候没有找到,略过后仍达到完全卸载的目的。)
其他
- 删除服务:sc delete MySQL57
- 打开文件:拒绝访问:属性 ->安全->修改权限
- 安装目录:C:\Program Files\MySQL\MySQL Server 5.7
- 服务启动后停止:
C:\Program Files\MySQL\MySQL Server 5.7\bin下 mysqld --initialize