mysql数据库环境配置中部分问题解决办法
注:原文地址:https://www.cnblogs.com/hezhuoheng/p/9366630.html
其中最重要的,是三个原则:命令按顺序输入、删除了ini(这个不是原则,是我解决问题的一种方式)、保证注册表和服务中的目录位置和文件解压位置一致。
第一步:安装mysql。可以去官网下载,直接搜索mysql就好。找到on windows这个选项,会有两个版本,有installer版本和zip版本,其实之前的installer版本已经安装好了,因为不熟悉的原因,我觉得用不来,又作死去搞zip版本。这里我重点讲zip版本,下载好的zip版本解压到你需要的地方,比如d:mysql\mysql-8.0.11-winx64(这个位置是你的安装版本)。
第二步:配置环境变量。这点很重要,zip版本一定需要环境变量。我觉得为了以防万一,环境变量需要配置两个地方(不知道对不对,但是我是为了保险起见)
首先找到配置环境变量的地方
接着在环境变量中的PATH中末尾添加:%MYSQL_HOME%\bin
在系统变量中新建:MYSQL_HOME
变量值是你解压文件的路径
这两步的工作都还算简单,讲讲常规操作:
接着用win+R键 打开命令窗口,在命令窗口里测试是否安装成功。
首先输入如下:mysqld -initializemysqld --initialize-insecure
这段命令输入完毕回车之后需要稍等一会,这段命令的作用是初始化mysql并且创建data文件夹,data文件夹是存放数据的地方,这是一定要有的,手动创建是不行的,粘贴复制也是不行的,因为在C:\ProgramData\MySQL\MySQL Server 8.0\Data根目录下里面是有data这个文件夹的,这是注册后存放,并不是你所用的mysql的实际地址,所以需要用上面的命令自动生成data文件夹,并且文件夹内部是有文件的。如下图所示:
接着再用命令 net start mysql 启动mysql服务(net stop mysql是关闭服务),如果启动成功,显示
则说明已经把mysql 成功启动了。
接下来输入命令会跳出Enter password:
直接回车,因为初始是没有密码的。
正常情况如下图所示
这样一个完整的过程是mysql顺利安装的过程。
接下来我主要讲遇到的问题:
(1)mysql服务无法启动 服务没有报告任何错误
解决方法:先输入命令mysqld -install 服务成功安装之后,在mysql的bin目录下执行mysqld --initialize-insecure (不设置root密码,建议使用)命令,第一次执行这个命令会等待的时间稍微长了一些,并且控制台没有任何返回结果。可以看到mysql的根目录下会多出一个data文件夹,里面一堆文件。此时再重启服务。
(2)服务名无效
解决方法:先通过命令mysqld -remove 删除原来的服务,显示成功删除,再重新用命令mysqld -install 安装服务,显示服务成功安装。如下图所示
(3)如果顺序是按照上述顺序解决了问题,还是提示无法启动
解决办法:尝试把C:\ProgramData\MySQL\MySQL Server 8.0和解压目录下的 mysql.ini删除,因为尝试过后发现这个ini是对端口,密码,文件存放位置的一个配置文件,删除了影响不大,就尝试删除掉,结果删除之后,服务启动成功了。(这点不知道为什么......)
(4)服务启动之后立马停止 这一点还没有弄明白为什么,但是通过我的实际操作,我觉得问题出在了命令的顺序上,一定要先在正确的目录下安装mysqld,之后再初始化mysql,紧接着最后启动服务。
解决办法:用 WIN+R 打开命令控制,输入regedit,查看注册表信息,找到
查看ImagePath中的数据是否和你解压的目录是同一数据
同时还要检查服务里的数据是否是和解压目录统一
打开控制面板->更改查看方式,换成小图标->找到管理工具->找到服务 在服务里查看mysql的属性,查看目录情况,如果不一致:则打开命令控制台,执行mysqld -remove命令。(这里出错的原因是因为在执行mysqld -install时没有在根目录下执行,在安装服务时候,一定要在根目录下执行才可以)如下图所示:
这样就可以保持一致了。
按照上面四个问题的解决办法,我重新遵循了 命令输入要按顺序,删除了ini文件,保证目录一致这三个原则,解决了错误代码为2003 1045的问题,其主要原因还是没有遵循那三个原则导致的,所以在配置环境的时候一定要小心。
这是我配置mysql环境时候遇到的问题,自己记录下来的目的是希望以后遇到了,实在不想百度花费太多时间,其次也是有一些问题没有弄明白,在文中标注了,希望能够有人能看到帮我解决或者我自己再琢磨透彻。