mysql 服务启动后停止
mysql5.7本地计算机上的mysql 服务启动后停止
案例1
--error\log_error.txt未看到如下错误信息
--执行mysqld --console或mysqld.exe start,可以看到如下错误提示
2020-06-01T15:24:45.286601Z 0 [ERROR] You have enabled the binary log, but you haven't provided the mandatory server-id. Please refer to the proper server start-up parameters documentation
2020-06-01T15:24:45.288057Z 0 [ERROR] Aborting
解决:
mysql -uroot -p
show variables like '%server_id%';
--my.cnf文件中加入
server-id=1
-----------------------
案例2
问题:
在cmd下输入net start mysql 报错:
mysql服务正在启动
mysql服务无法启动
服务没有报告任何错误
在服务里面启动是报错:
本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用将自动停止。
不能重新初始化,会导致数据和配置等丢失:mysqld --initialize
mysqld --initialize-insecure自动生成无密码的root用户,mysqld --initialize自动生成带随机密码的root用户。data文件夹不为空是不能执行这个命令的。
在cmd下输入mysqld --console看到报错信息:
Unknown suffix ';' used for variable 'max_connect_errors' (value '10;')
然后在my.ini中找这个配置。
max_connect_errors = 100;
当此值设置为10时,意味着如果某一客户端尝试连接此MySQL服务器,但是失败(如密码错误等等)10次,则MySQL会无条件强制阻止此客户端连接。
当这一客户端成功连接一次MySQL服务器后,针对此客户端的max_connect_errors会清零。
如果希望重置此计数器的值,则必须重启MySQL服务器或者执行FLUSH HOSTS(实际执行后未查询到参数修改值)
如果max_connect_errors的设置过小,则网页可能提示无法连接数据库服务器;而通过SSH的mysql命令连接数据库,则会返回
ERROR 1129 (00000): Host ‘gateway’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’
一般来说建议数据库服务器不监听来自网络的连接,仅仅通过sock连接,这样可以防止绝大多数针对mysql的攻击;如果必须要开启mysql的网络连接,则最好设置此值,以防止穷举密码的攻击手段
由于max_connect_errors=10 过小把他调到了100 后面加了‘;’号
导致不能重启。还有连接数也太大了,将他改小。
解决:my.ini中参数修改为如下
max_connect_errors = 10