为什么要写一篇这样的文章呢?因为有一位可爱的学弟动手能力实在是太差了,为了让以后学弟学妹们,特别是学妹们别再烦我,所以有了这样一篇文章,这篇文章就是写给学弟学妹们看的,如果有路人不小心点了进来,请轻喷。PS:我的所有操作的都是在5.7.26这个版本下进行的,其他版本可能有略微的差别,如果为了省事,可以安装跟我一样的版本

0.安装

这一步就不写了,原因是我懒,一是懒得安装,二是懒得教。自己去官方下载一下安装包,然后一直点下一步就行了,不过你要记住你把MySQL安装在了哪里,后面要用到。

1.安装服务

安装完之后,先右下角的搜索栏输入cmd,然后找到"命令提示符",然后点一下鼠标右键,接着用鼠标左键点一下”以管理员身份运行“,然后就会弹出一个丑丑的、黑黑的窗口。

win设置mysql密码并启动给_MySQL


win设置mysql密码并启动给_sql_02


弹出了这个很丑的黑色窗口之后,首先要看看能不能找到MySQL服务,,我们可以尝试停止MySQL服务,在管理员身份的命令行中输入如下命令即可:

net stop mysql

如果提示服务名无效,则说明系统还没有注册MySQL服务,需要将MySQL服务注册到系统中,具体如下:

win设置mysql密码并启动给_win设置mysql密码并启动给_03


1.进入到你的MySQL安装目录,删掉MySQL安装路径下的data文件夹的所有文件

win设置mysql密码并启动给_数据库_04


2.还是按照之前的操作,用管理员身份打开命令行窗口3.然后输入盘符你的MySQL安装目录所在的盘,比如我的是D盘,则输入D:,然后按一下回车键,这样就会进入到D盘的根目录。

win设置mysql密码并启动给_MySQL_05


然后使用cd命令进入到MySQL的安装路径下的bin文件夹

win设置mysql密码并启动给_sql_06


4.在命令行窗口(也就是黑黑的那个窗口)中输入如下命令:

mysqld --initialize-insecure --user=mysql
mysqld --install

win设置mysql密码并启动给_数据库_07


执行完mysqld --initialize-insecure --user=mysql命令之后,就会出现如下图的内容,

win设置mysql密码并启动给_MySQL_08


安装完成之后,在管理员身份的命令行中输入如下命令:

net start mysql

win设置mysql密码并启动给_sql_09


如果启动成功,则输入下面的命令将其关闭:

net stop mysql

win设置mysql密码并启动给_sql_10

2.进入安全模式

在命令行中输入如下命令,跳过权限检查来启动MySQL:

mysqld --skip-grant-tables

如果你配置了 my.ini 文件,则需要执行mysqld --defaults-file="../my.ini" --skip-grant-tables命令,将其引入,如果你什么操作都没有做过,请忽略这一步,直接看第3点:

[mysqld]
#MySQL安装路径
basedir = "C:\ProgramData\MySQL\MySQL Server 5.7"
datadir = "C:\ProgramData\MySQL\MySQL Server 5.7\Data"

注:my.ini 文件指定了数据的存放路径,如果不引入配置文件,则会提示 No such file or directory 错误

3.重置帐号密码

打开另一个命令行窗口(别关闭安全模式窗口),这个时候有两个命令行窗口:

win设置mysql密码并启动给_sql_11


同样切换到 mysql\bin 目录,输入下面的命令跳过权限验证连接数据库:

mysql

win设置mysql密码并启动给_MySQL_12

然后执行下面命令来重置root用户的密码为1234,为了照顾一下使用了5.6版本的,我列出了两种版本的修改密码的方式,大家使用你的版本来选择输入哪一条SQL,注意,要用;结尾,这个和C语言Java的规则是一样的:
5.6版本的,请输入下面的命令

update mysql.user set password=password('1234') where user='root' and Host ='localhost';

5.7版本的,请输入下面的命令

update mysql.user set authentication_string=password('1234') where user='root' and Host ='localhost';
注意:这里的1234指的是你的密码,root指的是根用户,localhost指的是指修改本地的用户,具体更多的信息,可以查看mysql这个库的说明。
图的画,我就以我用的5.7版本的为例了:

win设置mysql密码并启动给_mysql_13

4.刷新权限表

当我们修改完密码之后,其实这个密码还没有存到硬盘中,他只是写到了内存中,我们在命令行的mysql模式中输入下面SQL语句来刷新权限表,将我们刚刚所做的修改写入到硬盘中,这样就算我们关闭了命令行窗口,我们也可以使用我们刚刚的帐号密码来访问我们的数据库:

flush privileges;

win设置mysql密码并启动给_数据库_14


接下来我们就可以输入quit;退出mysql了

win设置mysql密码并启动给_数据库_15


然后我们就可以愉快的关闭所有的命令行窗口了。接着打开任务管理器,在后台进程中找到mysqld.exe进程将其结束,然后在管理员模式下的命令行窗口输入net start mysql重启MySQL服务,这样就可以通过你的密码来登录root帐号了。

win设置mysql密码并启动给_sql_16


管理员模式下的命令行窗口输入net start mysql重启MySQL服务

win设置mysql密码并启动给_win设置mysql密码并启动给_17


注意,一定要在管理员模式下的命令行窗口输入net start mysql重启MySQL服务,不然,会出现如下的情况:

win设置mysql密码并启动给_win设置mysql密码并启动给_18


这是因为普通用户没有权限启动MySQL服务的原因造成的。

然后,你需要再进入你的MySQL的安装目录下的bin目录,输入mysql -u root -p,然后按回车键,输入你的密码,就可以进入到MySQL了(ps:这里的root是指你的MySQL的用户名,如果你需要登录其他的用户,把这个名字换成别的就行

win设置mysql密码并启动给_MySQL_19


当然,说了那么多,你如果是一个初学者的话,肯定会比较迷糊,感觉很复杂,但是,如果你操作多了,就觉得很简单了,希望大家多动手操作几次。如果你还是觉得麻烦,或者是你觉得你已经完全掌握了这个方法,想体验一下更简单的方法,你可以使用WampServer或者PHPstudy等集成软件来使用MySQL。这样就很方便了,动动鼠标就行了,比如我用的就是PHPStudy。

win设置mysql密码并启动给_数据库_20

当然,如果你以前安装过其他的MySQL,进行了以上操作之后,还是无法启动,那很可能是因为服务冲突了,需要用管理员身份打开命令行窗口,然后输入sc delete mysql来将之前安装的MySQL服务删除即可。