本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用将自动停止[解决方案]
本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止[解决方案]
一,写这篇博客的用意
最近学习数据库 需要安装数据库 然后在安装过程中遇到一些问题 希望新手们遇到这些问题时少花一点时间折腾 所以写这篇博客,
二.解决办法
1.其中一个是:Windows无法启动MySQL57服务(位于本地计算机上)错误1067:进程意外终止,报错如下图所示。
2、紧跟着还有一个报错:本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止,报错如下图所示。
3、之后即便我垂死挣扎,在命令行窗口中不断的重启MySQL服务,但是仍然没有戳到痛点,尝试的步骤有下图为证。
4、随后想进入MySQL, 也是报错。
5、后来我想通过手动点击“我的电脑>管理>服务>MySQL”,收到启动MySQL,但是也没有用。
6、经过一番尝试之后,还是行不通。无奈之下,不断的寻找blog,终于找到了一个可行的方法,但是代价也是很大的,基本上是给MySQL洗心革面了。如果小伙伴们的原始MySQL中有重要的数据的话,不建议使用这种方法;如果觉得已经在数据库中的数据无关紧要或者不小心遇到了这个问题,那就可以大胆的使用这种方法,只不过是重头再来,具体的解决步骤如下。
首先务必使用管理员权限进入到命令行、务必使用管理员权限进入到命令行、务必使用管理员权限进入到命令行,重要的事情说三遍,不然的话就会出现“发生系统错误 5。 拒绝访问。”这样的错误,如下图所示。
7、之后进入到MySQL安装目录下,找到bin目录,这个过程是必须的。这个过程很简单,一路上使用cd命令和dir查看目录文件的命令相互结合,直到进入到bin目录下为止。一般来说,MySQL的安装默认路径是:C:\Program Files\MySQL\MySQL Server 5.7\bin,大家可以做下参考。
8、之后进行初始化data目录。如果在与bin目录同级的文件夹下没有data文件夹的话,则创建一个data空目录,名字务必为data。如果有该目录的话,记得要清空data目录下的所有初始文件,就酱紫。
9、之后到bin目录下执行命令(管理员身份打开命令行窗口):mysqld –initialize,如下图所示。初始化大概需要20秒左右的时间,静观其变即可。
之后就可以看到MySQL服务顺利启动。
而且在状态栏的MySQL Notifier中也会弹出提示,如下图所示,MySQL的状态变为从停止变为启动。
10.如果按照上面步骤执行 还是报错 那我们接下来执行以下的操作
修改my-default.ini文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysql]
default-character-set=utf8
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# 设置mysql客户端默认字符集
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.17-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\database
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES管理员cmd启动,安装mysql服务:
1
mysqld --install mysql
启动服务:
1
net start mysql
报错:
查找问题,重新安装,找到问题原因,配置文件有误,还有就是未初始化mysql data文件夹。修改步骤如下:
删除mysql服务
1
mysqld --remove mysql
修改配置文件中的[mysql] [mysqld] !!注意这两个括号里面的 不能少。详细的见上面的inip配置(我贴的已经是正确的了,之前我两个括号里面都写的是[mysqld])
重新安装mysql服务
1
mysqld --install mysql
初始化data
1
mysqld --initialize-insecure
启动mysql服务
1
net start mysql
11、此时通过命令行窗口再次登录数据库(命令为:mysql –u root -p)就可以顺利进入了,但是输入你之前的历史遗留的密码并不好使了,而且会报错,报错为:ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES),如下图所示。
这是因为MySQL初始化之后,生成了一个初始密码,放在了data文件夹下以.err为后缀的文件夹下,如下图所示。
12、此时,通过电脑自带的记事本打开文件,是不太行得通的,通过sublime text就可以顺利打开了,以“password”为搜索项,很快就定位到初始密码了,如下图所示。
这个密码是随机生成的,而且相对复杂,可以直接复杂粘贴到命令行窗口。
13.但是有些打开以后发现里面密码 没有 所以不要慌 我们继续执行以下操作
(1)、windows+r 打开cmd
(注意:以管理员身份启动cmd窗口)
(2)解决办法:
(3).先关闭Mysql服务,修改my.ini文件,再启动服务,输入命令:
(4)、net stop mysql 关闭命令
(5)、net start mysql 启动命令
(6)找到mysql安装路径,打开my.ini,在[mysqlId]下添加:
skip-grant-tables
(7).配置好my.ini,重启启动cmd,输入命令如下:
mysql -uroot -p
(在输入密码时,直接点击enter跳过)
如果没有出现这种情况 继续执行下面步骤:
13、将初始化密码进行复制,粘贴到MySQL登录的密码中去,如下图所示。
此时可以看到,顺利进入到了MySQL。
14、但是直接输入MySQL的简单命令之后,发现并不能操作数据库,会提示报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.,如下图所示。
15、这个报错的意思是告诉你重设密码,此时只需要输入命令重新设置密码即可。至于MySQL重设密码的方法网上有很多,在这里不展开讲述了,小编用的语法是:alter user ‘root’@’localhost’ identified by ‘123456’;,其中123456是重设的密码,大家可以自定义的,顺利设置完成之后记得刷新权限:flush privileges;,尔后你就可以正常操作数据库了。该步骤的具体操作过程如下图所示。
以上就是我在安装过程中所遇见问题 折腾了好几个小时 希望对大家有帮助 当然上面有些信息来源于网上查找 ,如果有什么问题或者想交流的可以联系我
三,联系方式
qq:2061302791
微信:xie2061302791
电话:15284524485
个人网站:https://xieyingpeng.github.io
Github:https://github.com/xieyingpeng/
博客园:https://www.cnblogs.com/Xieyingpengz
知乎:https://www.zhihu.com/people/nan-qiao-12-73