【下载并解压MySQL5.7.13】
MySQL现在提供的有四个版本。其中我们一般使用多的是社区版(MySQL Community Server)。官方下载地址
当前的版本是5.7.13,选择windows平台会看到提供的下载链接现在只有Zip版,没有.msi了(这个社区版的发展坎坷,包括MySQL被收购,收购的公司又被oracle收了,oracle喜欢钱等等原因,这里不详述了,有兴趣自己可以去查查看)。就下载适合自己的32bit或者64bit。我这里是win7 64bit版本的,下载下来之后解压,就会得到mysql-5.7.13-winx64的文件夹,可以放到你乐意它在的位置。我这里是改了文件夹名称为MySQL Server 5.7然后放到了E:\MySQL目录下。
【配置】
修改配置文件。
这里我直接修改了my-default.ini文件,网上很多会有新建my.ini文件自己添加内容等等,都可以。
在文件夹下你能找到my-default.ini这个文件,打开它,找到并设置以下内容:
basedir = E:\MySQL\MySQL Server 5.7 //MySQL的安装目录1.前面的#去掉
datadir = E:\MySQL\MySQL Server 5.7\data //MySQL数据库的数据存放目录
2.这里的data文件夹本来是不存在的,也不需要手动创建,MySQL会看着来。
我只修改了这两项。
【安装MySQL服务】
打开一个cmd.exe,将目录切换到E:\MySQL\MySQL Server 5.7\bin,运行: mysqld -install ,提示服务安装成功!运行services.msc一看,确实有一个名为MySQL的服务了,启动它。
【配置root用户登录】
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.输入命令行:SET authentication_string=PASSWORD('xxxx'); //xxx代表你的密码
看到提示Query OK, 0 rows affected, 1 warning (0.01 sec)
【解决问题】
就是说我的密码不对,但是我明明还没有登录过啊。没办法,解决一下吧,我就上网好一顿找啊,我就当我忘了密码怎么重设密码呗。看到了好的文章,直接贴过来做一点修改:
(From: http://www.cnblogs.com/linuxnotes/archive/2013/03/09/2951101.html)
1、 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:
net stop mysql
打开第一个cmd1窗口,切换到mysql的bin目录,运行命令:
mysqld --defaults-file="E:\MySQL\MySQL Server 5.7\my-default.ini" --console --skip-grant-tables
注释:
该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。 此时已经开启了mysql服务了!
这个窗口保留 不关闭。
2、打开第二个cmd2窗口,连接mysql:
输入命令:
mysql -u root -p
出现:
Enter password:
在这里直接回车,不用输入密码。
然后就就会出现登录成功的信息,
使用命令:
show databases;
使用命令切换到mysql数据库:
use mysql;
使用命令更改root密码:
UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
注:这里为什么不是password而是authentication_string呢?因为在5.7.*以后这个字段给换了。。坑人不偿命啊!
刷新权限:
FLUSH PRIVILEGES;
然后退出,重新登录:
quit
重新登录: 可以关掉之前的cmd1 窗口了。然后用net start mysql 启动服务
mysql -u root -p
出现输入密码提示,输入新的密码即可登录:
Enter password: ***********
到这里问题解决完毕,但是这里登录进去之后可能会遇到【解决问题】前面提到的那个问题:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.参照上面的内容设置一下就好了。~