本文作者安装mysql5.7.19,win8系统环境
1.输入mysqld --console 把信息打印到控制台 然后寻找一下信息中有没有出现
2018-10-17T12:35:16.437782Z 0 [ERROR] Can’t start server: Bind on TCP/IP port: No such file or directory
2018-10-17T12:35:16.437782Z 0 [ERROR] Can’t start server: Bind on TCP/IP port: No such file or directory
2018-10-17T12:35:16.439025Z 0 [ERROR] Do you already have another mysqld server running on port: 3306 ?
2018-10-17T12:35:16.450300Z 0 [ERROR] Aborting
这几个错误,如果有就继续看下去。如果是不一样的错误的话我相信你已经有新的思路去找问题了。
---------------------
2.问题分析
运行-services.msc-可看到两个服务mysql和mysql57。一个是本地的进程,一个是网络进程。
启动mysql服务就只能操作数据库,外界不能连接到数据链接会报performance_schema表或库不存在,用链接工具链接了也是看不到performance_schema这个提供给外界应用数据库驱动链接库,只能读到information_schema这一个初始库。
启动MySQL57服务就可以读到提供给外界,应用资源访问的数据库以及MySQL自己的一些内部存储数据,外部应用服务也能访问到数据库。
★问题发生的原因为mysql和mysql57用的端口都是默认的3306,因此mysql和mysql57两个服务只能同时运行一个。
△解决方法一:一个启动,另外一个停止。
参考:https://blog.csdn.net/koloumi/article/details/83117497
①netstat -aon|findstr “3306” (“”为英文状态下双引号)。此cmd命令去查找占用了3306端口的进程id;
②然后打开任务管理器 到详细信息找到刚才看到的进程id 结束掉然后运行 net start mysql 或者net start mysql57任何一个对应启动相应的服务,就能成功启动了;
③若想使用另一个服务,返回①。
△解决方法二:配置my.ini,使mysql和mysql57用的端口不同。
①停止mysql和mysql57服务;
②找到my.ini文件。mysql5.7.19的my.ini文件在C:\ProgramData\MySQL\MySQL Server 5.7
③修改my.ini文件。
[mysqld]
port=3306
[mysqld]下的port=3306修改为port=3310(可以其他,不被其他进程占用即可)
[mysqld]
port=3310
④cmd窗口运行:net start mysql
net start mysql57
即可。此时两个服务能同时运行