之前用ajax编写程序连接数据库时连接不上数据库,提示说数据库没有启动,所以有了以下这篇博客。
1、 MySQL启动失败:cmd中输入net start mysql 提示:服务名无效
Windows8下安装MySQL cmd命令下进入bin目录,输入net start mysql 提示:服务名无效。
度娘一下,才知道是Windows8权限问题,进入系统盘找到C:\Windows\System32\cmd.exe(文件较多,可以快速搜索找到cmd.exe)右键以管理员身份运行,再次进入相应目录执行。
2、再次运行“net start mysql”命令,则显示服务无法启动
问题来了,运行“net start mysql”命令,出错!
如图所示,安装提示成功,开启服务失败。
之后查到运行“mysqld - -console ”命令可以显示出启动错误信息。
谨慎起见,我想看下mysql是否真的安装成功。
于是,执行命令“mysqld –remove”将其删除并重新运行” mysqld –install “命令进行安装。提示成功。
执行” mysqld - -console “命令,显示failed to set detadir to C:\Program Files\MySQL\MySQL Server 5.7\data\。解决问题时忘记截图保存了,所以这里借用一张别人的图片。
这是因为Windows 64 位 mysql 5.7以上版本包解压中没有data目录。在这里请注意:不要自己创建data文件夹。
网上很多教程建议自己新建一个空data文件夹,再在my.ini文件中增加一句:
#设置mysql数据库的数据的存放目录
datadir=D:\softnew\MYSQL\mysql-5.7.20-winx64\data
这样会导致服务无法启动,不要添加这一句,也不要自己新建data文件夹,由mysql自动生成data就好,具体操作如下:
打开cmd命令窗口,并且进入到mysql安装目录的bin目录下。然后输入命mysqld install 显示成功
再输入:mysqld –initialize 此时应该没有任何提示。但mysql文件夹中会自动生成一个data文件夹。
3、再次运行“net start mysql”命令,还是显示服务无法启动
运行“mysqld - -console ”命令,发现还有一个错误,显示端口号被占用了。
[ERROR] Can’t start server: Bind on TCP/IP port:No such file or directory
[ERROR] Do you already have another mysqld server running on port: 3306 ?
解决办法:1、执行命令:netstat –ano。
可见,占用3306端口的进程的PID是2428。
2、执行命令:tasklist。
可见,该占用3306端口的进程是mysqld.exe.
3、通过任务管理器,终止进程mysqld.exe.
4、最终mysql启动成功
重新执行上述命令,成功!