原因
1.非管理员身份运行,大部分情况都是这个原因
解决方法:
我们只要以管理员身份运行“命令提示符”,执行命令就不会提示“发生系统错误5,拒绝访问。”了,就解决了。以Win10系统为例,点击“开始菜单”–>展开“Windows系统”,右键点击“命令提示符”,选择“更多”,选择“以管理员身份运行”
或者按路径找到如下位置,发送到桌面快捷方式,每次打开就是系统管理员命令窗口了
然后执行启动命令 net start mysql,如下图即可
2.服务名称错误的原因,不是mysql 应该是mysql5或者其它服务名称错误,如下图
会报错服务名无效,解决办法为修改为net start mysqlXX
,XX为版本号,如我的8.0就是net start mysql80
win+r 打开运行窗口,输入services.msc 打开服务列表,找到mysql,如下图服务名称是MySQL80,这个 根据版本不同,名称不同,具体以你实际情况为准,应该是mysql57,服务名不区分大小写,然后重新打开管理员运行窗口,执行启动命令 net start mysql57即可;
3.如果服务列表上的mysql服务属性有过改动,要仔细看,把它还原回去,不然后续还会有问题,如果没有改动可以略过此项排查;
以mysql80为例,登录为网络服务,之前看过其它文章把这个改成本地系统了,然后属性里面的登录也改成了本地系统账户,也改了本地账户的权限及用户组,但是还是有问题,最后就把这个还是还原到了网络服务,如下图属性-登录 此账户是网络服务
如果不是网络服务,就点击浏览 ,然后在下面输入要选择的对象名称为: Network Service
然后检查,确定,外面的密码和确认密码为空,应用确定即可,然后直接在服务列表启动服务即可
4.修改过MySQL的配置文件,我的就是这个原因,因为需要开启一些日志,所以动了配置文件,my.ini
为什么修改过配置以后就启动不了了那,两方面原因:
4.1一个是配置文件写的有错误,比如路径,这个要仔细排查下,不能直接拷贝网上的,因为自己的安装路径和别人的不一定完全一样,下面是一个示例配置文件
# MySQL Server 配置
[mysqld]
# 服务器端口
port = 3306
# 数据目录
datadir = /var/lib/mysql
# Socket 文件路径
socket = /var/run/mysqld/mysqld.sock
# 字符集
character-set-server = utf8mb4
# 默认存储引擎
default-storage-engine = InnoDB
# 错误日志文件路径
log-error = /var/log/mysql/error.log
# 慢查询日志
slow-query-log = 1
slow-query-log-file = /var/log/mysql/slow.log
long-query-time = 2
# 最大连接数
max_connections = 100
# 缓存大小
key_buffer_size = 256M
query_cache_size = 128M
innodb_buffer_pool_size = 512M
# 其他配置项…
# 启用查询缓存
query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 128M
# 启用慢查询日志
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
# 启用二进制日志
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
# 启用主从复制
server-id = 1
log_slave_updates = 1
relay_log = /var/log/mysql/relay-bin.log
read_only = 1
# 启用 InnoDB 引擎
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_buffer_pool_size = 512M
innodb_log_file_size = 256M
# 配置并发控制
max_connections = 1000
thread_cache_size = 64
# 配置字符集
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
# 配置日志文件路径和大小限制
general_log = 1
general_log_file = /var/log/mysql/general.log
log_error = /var/log/mysql/error.log
max_error_count = 1000
4.2另一方原因是因为配置文件的编码格式变了,导致无法读取所以服务才无法启动了
会有Mysql启动 – 错误1053:服务没有及时响应启动或控制请求
一般是配置文件损坏的原因,其它原因可以网上再查询下
my.ini 文件的编码格式是 ASCII 或 UTF-8。在 Windows 系统上,my.ini 默认使用 ASCII 编码,但也可以选择使用 UTF-8 编码。在 Linux 和 macOS 系统上,my.ini 通常使用 UTF-8 编码。选择适当的编码格式取决于操作系统和 MySQL 版本
修改 my.ini 文件本身的编码格式,你需要使用一个文本编辑器来打开和保存文件,并在保存时选择所需的编码格式。下面是一些常见的文本编辑器中修改编码格式的步骤示例:
-
使用 Notepad++ 编辑器:
- 打开 my.ini 文件。
- 在菜单栏中选择 “编码”,然后选择所需的编码格式,例如 “UTF-8” 或 “UTF-8 with BOM”。
- 保存文件。
-
使用 Sublime Text 编辑器:
- 打开 my.ini 文件。
- 在菜单栏中选择 “File”(文件),然后选择 “Save with Encoding”(另存为指定编码)。
- 在弹出的菜单中选择所需的编码格式,例如 “UTF-8″。
- 保存文件。
-
使用 Visual Studio Code 编辑器:
- 打开 my.ini 文件。
- 在底部状态栏中点击当前编码格式(通常是 “UTF-8″)。
- 选择所需的编码格式,例如 “UTF-8 with BOM”。
- 保存文件。
根据使用的文本编辑器不同,具体步骤可能会有所差异,但基本思路是打开文件、选择所需的编码格式,然后保存文件。请注意,修改 my.ini 文件的编码格式可能会影响 MySQL 服务器的正常运行,请谨慎操作并备份文件。
然后再执行启动命令进行测试即可;
以上,感谢阅读,因为个人确实遇到这个问题,处理了很长时间,才发现是配置文件编码错了,写出来给各位的参考,谢谢!