1、mysql无法远程连接数据库,提示Can't connect to MySQL server on xxx (10061)
首先,查看用户host是不是%,%代表允许任意ip连接数据库;
如果是%还是无法连接数据库,则查看my.ini是否配置了bind-address。这边查看配置发现bind-address=127.0.0.1导致无法连接数据库。
net stop mysql80
配置改成bind-address=0.0.0.0,允许所有
net start mysql80
2、修改配置文件my.ini保存后,重新启动起不来,net start mysql80报错,mysql服务无法启动,服务没有报告错误;
并没有相关信息,这边有个方法可以查看启动过程的信息,
首先进到mysql的安装目录bin下,启动cmd执行命令 mysqld --console,即可查看启动过程中出现的错误;
注意:这里要注意mysqld --console使用的是my.ini配置文件默认路径,因为安装过程有人不是使用默认的路径存数据。
查看默认路径:到bin目录下启动cmd执行,mysql --help |find /I "my.ini"
实际的路径:右键我的电脑--管理--服务与应用程序--服务,找到mysql服务双击可以看到对应的目录
本人路径确实跟默认的不一样,所以用下面的命令进行排查
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console
发现是可以正常执行启动的,并没有报错。后面查资料才发现是my.ini编码有问题,mysqld --console可以正常启动而net start mysql80则无法启动;
总结:本人问题my.ini的编码需为ANSI编码,其他人可以根据mysqld --console给的提示进行排查问题。